next up previous contents
Next: Comparison of Languages Up: Java Enterprise Computing Previous: Java Message Service   Contents

Enterprise JavaBeans (EJB)

Enterprise JavaBeans (EJB) [25] implements server-side, arbitrarily scalable, transactional, multi-user, secure enterprise-level applications. It is Java's component model for enterprise applications. EJB combines distributed object technologies such as CORBA and Java RMI with server-side components to simplify the task of application development. EJBs can be built on top of existing transaction processing systems including traditional transaction processing monitors, Web servers, database servers, and application servers. Sun claims that EJB is not just platform independent--it is also implementation independent. An EJB component can run in any application server that implements the EJB specification [22]. User applications and beans are isolated from the details of the component services. The ability to reuse the same enterprise bean in different specific applications is one advantage of this separation. The bean implementation or the client application need not have the parameters that control a bean's transactional nature, persistence, resource pooling, or security management. These parameters can be specified in separate deployment descriptors. So, when a bean is deployed in a distributed application, the properties of the deployment environment can be accounted for and reflected in the setting of the bean's options. EJB is a distributed component model. A distributed component model defines how components are written. Hence different people can build systems from components with little or no customization. EJB defines a standard way of writing distributed components. The EJB client only gets a reference to an EJBObject instance and never really gets a reference to the actual EJB Bean instance itself. The EJBObject class is the client's view of the enterprise Bean and implements the remote interface. EJB is a rather specialized architecture--aimed at transaction processing and database access. It is not really an environment for general distributed computing in our sense.
next up previous contents
Next: Comparison of Languages Up: Java Enterprise Computing Previous: Java Message Service   Contents
Bryan Carpenter 2004-06-09