An EJB application development involves three major stages,
Depending on the size and scale of the application, the responsibilities related to each of these stages can range from simple to complex. In a large organization, for each of these stages there might be one or more role that might be executed by different individuals or teams. This separation works because each of the earlier roles outputs a portable file that is the input for a subsequent role. In a small company, you might perform the tasks in every phase.
- EJB Container/Server Provider
- The Java EE server providers are vendors who designs and develops servers according to the Java EE 5 Platform specification.
- Most of the EJB containers are packaged with Java EE Servers
- Java EE Server provides services to an EJB container and an EJB container provides services to an Enterprise Java Bean.
- Tool Provider
- The tool provider can be a vendor or person who creates development, assembly, and packaging tools used by component providers, assemblers, and deployers.
- Bean provider (Stage 1)
- Bean provider knows the business logic that should be implemented for a particular type of component and for a particular domain.
- Design, code and compile Enterprise JavaBean.
- Specify an XML deployment descriptor for one or more beans.
- Bean provider delivers an EJB JAR file which includes .class files of beans and XML deployment descriptor.
- Assembler (Stage 1)
- The application assembler gets application modules from bean provider and assembles them into a Java EE application EAR file. Assembler may sometime mix new and existing beans to develop a Java EE application.
- Assemble EJB JAR and WAR files developed by component provider into a Java EE application (EAR) file
- Specify the XML deployment descriptor for the Java EE application
- Specify the security and transaction behaviour for the Java EE application
- Application assembler delivers an EAR file containing the Java EE application:
- Deployer (Stage 2)
- The application deployer configures the Java EE application following the instructions supplied by the assembler. He installs the application in the server and generates the container-specific classes and interfaces. Deployer uses tools provided by the vendor to accomplish his tasks.
- Study the deployment descriptor for any external dependencies such as any resource and maps the logical name provided by the bean provider to the actual name of the resource on the server.
- Set transaction controls and specifying connections to databases.
- Verify whether the contents of the EAR file comply with the Java EE specification
- System Administrator (Stage 3)
- System Administrator is responsible for the day-to-day operation of the Java EE server and makes sure that EJBs run 24×7 without any interruption including the restart of a server in case of its crash. He is an expert in a specific server domain.
- His responsibilities include keeping security information up-to-date and monitoring the networking issues of the server.
- Tuning application performance. If the application does not meet the desired performance, then it will need tuning.
This figure sums up the roles and stages of an EJB application development.