The EJB architecture defines different roles in the application life cycle, from development to deployment. Therefore, JOnAS may be used by different parties. This chapter briefly describes the different roles and establishes their correspondence with the different chapters of this documentation.
The roles are listed in the table below along with the corresponding chapter of the documentation:
Briefly, the Enterprise Bean provider develops the Enterprise Beans, the Application Assembler writes the client portion of the application, the Deployer installs the beans on the EJB platform, while the System Administrator performs the administrative tasks, using the monitoring and management tools of the EJB platform. The JOnAS platform itself is the actual EJB Server Provider and EJB Container Provider.
The figure below illustrates these different roles.
The Enterprise Bean provider is typically the programmer who develops the software components. This programming work results in an ejb-jar file containing enterprise beans. The Bean provider is responsible for defining a client interface, for implementing the behaviour of the software component, and for implementing the contract with the container. This contract is a set of rules and methods to implement so that the bean is able to run on the EJB platform. Details about the Bean provider's responsibilities are provided in the chapter "Bean Programmer's Guide."
The application assembler uses existing Enterprise Beans to create applications. Workings with the remote and home interfaces of the bean, the application assembler develops "client applications" (from the EJB server point of view), such as new enterprise beans, servlets, applets. Details about the application assembler's responsibilities are provided in the chapter "Application Assembler's Guide."
The deployer installs enterprise beans on the EJB platform, making use of different tools provided by the platform. Installation of an Enterprise Bean may consist of modifying its environment properties to adapt the bean to the specifics of the runtime environment (security, database support, ...).
EJB server and container are concepts dedicated to the EJB platform providers. Therefore there is no corresponding chapter in this documentation since readers are supposed to be the JOnAS users.
EJB server providers are people providing the basic platform services, such as distributed transaction support and persistence. The corresponding basic level interface is used by the containers.
Container providers are those who provide a way to merge the behaviour of a bean with system-level programming (transaction and persistence management, ...). Typically, container providers provide tools for generating the container components that enable a bean to be run on an EJB server.
Generally, EJB server and container providers are the same individual. JOnAS is both EJB server and container provider; the tool that generates the container classes is GenIC.
The system administrator is responsible for the behaviour of the execution environment. Using monitoring and management tools, the system administrator can tune the EJB server. The tools provided with JOnAS are described in the chapter "Administration Guide."