Sign up for an instant free trial.
Or try a fully functional demo.

Evolution Hosting is a reliable hosting environment designed expressly for Java™ applications. The myEvolution Control Center provides comprehensive management tools, automates system administration chores, and implements best practices.

EJB Architecture Roles and Scenarios


Simplification
The Evolution Hosting infrastructure automates and simplifies many steps involved in placing J2EE applications on the Internet. Some of the steps, such as writing the application to be hosted, still lie in the in the hands of the Evolution Hosting user.  In order to effectively understand what requirements Evolution Hosting fills into a J2EE application , Sun Microsystems' EJB Architecture Roles and Scenarios paradigm can be used to break the development life cycle into logical units.

Discrete Pieces
In the past one of the difficulties in bringing any distributed system from its inception to a successful release has been breaking the steps of the development life cycle into discrete pieces so that they could be separately, and simultaneously worked on. To help alleviate this problem, Sun Microsystems has dedicated a portion of the EJB Specification to a description of what they term EJB Architecture Roles and Scenarios.

EJB Architecture Roles and Scenarios 
(Portions of the following were taken from Sun Microsystems' EJB Specification v1.1, Section 3. This text is identitified with quotation marks.)

Sun Microsystems created Version 1.0 of the EJB Specification on March 21, 1998. Since that time, the support and participation in EJB has grown exponentially.  The specification lays out the requirements for vendors and developers who wish to write EJB applications.  In an attempt to organize all of the parties involved in building an EJB application, the Specification outlines six roles that can contribute to an EJB effort.

One thing to note in analyzing Sun's EJB Architecture Roles and Scenarios, is that they are fine-grained. That is, the development life cycle is divided into a large number of small tasks (six, to be precise). This is good in that it allows the maximum modularization of application development, but in reality, the roles are usually merged. For example, the roles of EJB Server Provider and EJB Container Provider are currently always filled by one entity: the EJB Server vendor. Similarly, the roles of Enterprise Bean Provider and Application Assembler may be filled by the same person, because often times the Enterprise Bean Provider has the most knowledge, and is thus best prepared to Assemble the EJBtms into larger deployable application units.

The following is a description of the roles from the EJB Specification.  Included is an explanation of which roles Evolution Hosting assists with.

Role Responsible Party
 Enterprise Bean Provider  user
 Application Assembler  user
 Deployer   Evolution Hosting
 System Administrator   Evolution Hosting
 Server Provider   vendor 
 Container Provider   vendor


EJB Specification Section 3.1.1: Enterprise Bean Provider
The Enterprise Bean Provider is the individual or organization that writes the actual Java code for the EJB component.  The Home Interface (factory controller), the Remote Interface (client contract), and Enterprise Bean Class (EJB implementation class), are included in the output from the Bean Provider.  All of these class files are packaged in an ejb-jar file along with an EJB Deployment Descriptor.  Multiple EJBs can be packaged in one ejb-jar, and are all described in the single EJB Deployment Descriptor in the same ejb-jar.

Evolution Hosting is not part of the Enterprise Bean Provider Role, because it does not provide the application specific ejb-jars.  A client application may, however, utilize E-Commerce EJB components for tasks such as dynamic Credit Card processing.  This would bring Evolution Hosting into the role of Enterprise Bean Provider.

EJB Specification Section 3.1.2: Application Assembler
An EJB Application Assembler takes the ejb-jar files from the Enterprise Bean Provider and assembles them into an application.  At this time the Application Assembler may increase or reduce the number of ejb-jar files.  This is done by separating EJBs into new ejb-jars, or by consolidating EJBs into a smaller number of ejb-jars.  The EJB Application Assembler may also combine other application components, such as Java Server Pages into the application.  Finally, the EJB Application Assembler is responsible for including assembly instructions into the EJB Deployment Descriptor.

Evolution Hosting is not part of the EJB Application Assembler Role, because the ejb-jars are uploaded to Evolution Hosting in their final ejb-jar configurations.  This role is not very substantive, however, and it is mainly a factor when multiple vendor's EJB components are being integrated into one system.

EJB Specification Section 3.1.3: Deployer
The EJB Deployer is responsible for generating the EJB application server specific container code that will manage the EJBs lifecycle. Generally, to generate the EJB container, the ejb-jar's output from the EJB Application Assembler role are input into an EJB compiler, which in turns generates the proprietary container code for the EJB. The Deployer may also map environment specific security roles, or change code in the EJBs.

Evolution Hosting performs a portion of the EJB Deployer role. Evolution Hosting takes a deployable J2EE module such as a web application (.war), ejb-jar, or an enterprise application (.ear) and with it's Smart Deployment technology, deploys it into the any server container in a single step. Some servers require multiple steps to deploy a J2EE module such as uploading the module, then modifying some configuration files to make the server recognize the new module. Evolution Hosting's Smart Deployment technology handles these steps for you no matter which server you host on, lessening the burden on your deployment efforts.

EJB Specification Section 3.1.4: EJB Server Provider
Examples of EJB Server Providers include: Orion Server and BEA WebLogic.

Evolution Hosting is not an EJB Application Server Provider.

EJB Specification Section 3.1.5: EJB Container Provider
Currently, the EJB Container Provider and EJB Server Provider are one in the same.  Sun may define the interface between the EJB Server and Container in the future, which would allow this separation.

Evolution Hosting does not serve the role of the EJB Container Provider.

EJB Specification Section 3.1.6: System Administrator
The EJB System Administrator is responsible for configuring and managing the EJB server and container, and the related network and computing resources.  The EJB System Administrator must monitor the EJBs at runtime.

Evolution Hosting fills a majority of the EJB System Administrator role.  Computing, networking, application monitoring tools, and EJB server and container administration are all part of the Evolution Hosting offering.  Evolution Hosting provides an integrated control panel with which users may monitor and change system settings in their EJB application.

Summary
In summary, a broad statement could be made that an Evolution Hosting user is responsible for coding and configuring J2EE components, while Evolution Hosting is responsible for deployment and administration of the components. Users can concentrate on coding business logic, while system administration and configuration details can be effectively outsourced. This is especially valuable when the tremendous amount of time absorbed by system and environment details is taken into account. Combine this with the deployment and administration tools that Evolution Hosting provides the Deployer, and the value that Evolution Hosting offers a J2EE development team becomes clear.

Terms | Privacy | Copyright Home | Sign Up | Products | Services | Contact Support | Manual | Webmail | Login