# Roles and Application life cycle

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 the correspondence with the different chapters of this documentation.

The roles are listed in the table below, together with the corresponding chapter of the documentation:

Roles | Documentation chapter
Enterprise Bean provider | Bean Programmer's Guide
Application assembler | Application Assembler's Guide
Deployer | Deployer's Guide
EJB server provider | None
EJB container provider | None
System administrator | Administration Guide

In few words, the Enterprise Bean provider develops the Enterprise Beans, the Application Assembler writes the client part of the application, the Deployer installs the beans on the EJB platform, while the System Administrator does his usual work, using the monitoring and management tools of the EJB platform. The EJB Server Provider and EJB Container Provider are actually the JOnAS platform itself.

The figure below illustrates these different roles.

## Enterprise Bean provider

The Enterprise Bean provider is typically the programmer who will develop the software components. The result of his work is an ejb-jar file containing enterprise beans. He is responsible for defining a client interface, for implementing the applicative behaviour of the software component and the contract with the container. This last point is a set of rules and methods to implement in order for the bean to be runnable on the EJB platform. Details on the Bean Provider responsibilities are provided in the chapter "Bean Programmer's Guide".

## Application assembler

The application assembler uses existing Enterprise Beans to compose applications. He works with the remote and home interfaces of the bean to develop "client applications" (from the EJB server point of view). Such client applications can be new enterprise beans, servlets, applets, etc.. See more details in the chapter "Application Assembler's Guide".

## Deployer

The deployer installs enterprise beans on the EJB platform. He makes use of different tools provided by the platform in order to achieve this goal. Installation of an Enterprise Bean may consist of modifying its environment properties in order to adapt the bean to the specifities of the runtime environment (security, database support, ...).

## EJB server and container providers

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 people providing the mean to merge the applicative behaviour of a bean with system level programming (transaction and persistence management, ...). Typically, container providers provide tools generating the container components that will allow a bean to be run on a EJB server.

Generally, EJB server and container providers are the same people. JOnAS is both EJB server and container provider; the tool that generates the container classes is GenIC.

## System administrator

The system administrator is responsible for the behaviour of the execution environment. He may tune the EJB server by the mean of monitoring and management tools. The tools provided with JOnAS are described in the chapter "Administration Guide".