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
First Previous Next

Slide: 4