Next: Comparison of Languages
Up: Java Enterprise Computing
Previous: Java Message Service
Contents
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: Comparison of Languages
Up: Java Enterprise Computing
Previous: Java Message Service
Contents
Bryan Carpenter
2004-06-09