Roles in development of the application based on distributed components
The complexity and diversity of tasks needed to write a robust distributed
application calls for separation of responsibilities to multiple domain experts.
The EJB specification assigns specific roles for project participants charged with
enterprise application development utilizing EJBs:
EJB server provider
- provides an application framework in which to run the EJB containers
- implements and provide access to a JNDI-compatible naming service
- implements a transaction service compatible with CORBA-OTS (Object Transaction Service)
EJB container provider
- supplies runtime classes that provide the required services to the EJB Bean instances
- provides deployment tools to
- generate stubs and skeletons classes to provide access to the EJB instance’s Home object
and EJBObject (the proxy to the bean itself)
- install an EJB Bean with its supporting classes on an EJB server
- register the reference to the Home object in a JNDI-accessible namespace
- generate EJBObject implementation that can provide correct proxy services
for the bean class
EJB provider
- responsible for coding the business logic into server side components (beans)
- should also have knowledge of the EJB specification
- describes transactional needs of the various methods in the EJB class to the EJB deployer
EJB deployer
- have an in-depth understanding of the characteristics of the particular run-time server
environment such as database type, its location, etc.
- installs the bean and its supporting classes on the EJB server and registers it's home
interface with JNDI
- may not be a Java developer nor understand the business rules that an EJB class implements
The deployer gets the EJB class requirements from the EJB developer such as transactional needs,
names and descriptions of the required environment properties and so forth.
The deployer is responsible for making these properties, along with their correct runtime values
available to the EJB class at runtime.
Application assembler
- writes the client applications using pre-built EJB components, configuring and customizing them for
the assembled application
|