Java Tutorial - Java Scipt : Needs and Features Analysis

Java Tutorial - Java Scipt :

Needs and Features Analysis

Now, we must consider the needs and requirements of a layer in the J2EE stack. In this case, we are dealing with the EJB container, but as you may notice, what we need here is very similar to the list we assembled for servlet containers. These needs are:

Conformance to J2EE standard: Conformance to J2EE standards is a must. The picture becomes less clear, however, because there are incrementally more complicated versions of the EJB specifications. The original 1.0 specification spanned 181 pages, while the current 2.1 specification draft has grown to around 640 pages. Clearly, the EJB specification is getting ever more complicated, and there will be important distinctions among EJB containers, which are struggling to keep up with the latest specification.

Support for integration within the J2EE stack: As with any element of the J2EE stack, support for integrating it with other components, such as Web servers, servlet containers, and relational database management
systems, is vital. Most EJB containers, especially the open source ones, are designed to play well with other J2EE components.

Project stability and continuing support: Stability and continuing support are important in any piece of software, but more so in the EJB container. Recent times have seen a huge reduction in the number of free, open source EJB container projects that are being actively developed. We also need stability so that as the EJB container evolves and new versions are released, the product continues to work correctly and efficiently. The notion of support is related to this definition of stability. There will be subtle differences that will require technical support. When choosing an
EJB container, we need to ensure that this level of support exists and can be reasonably expected to exist for the lifetime of the deployment.

Scalability: Scalability, both vertical and horizontal, is perhaps the most important feature in production deployment. Good vertical scalability is crucial for reducing the number of machines you’ll need to handle. Once the application’s footprint exceeds a single machine, then having an EJB container that scales well horizontally is crucial. Advanced clustering techniques can be a great boon in terms of horizontal scalability.

Ease of use: EJBs have a reputation for being excessively complicated. By trimming down the number of steps and automating tasks, an EJB container with good ease of use can reduce the overhead borne by the developer.

Documentation: Documentation is good to have available in any situation and is critical for EJB containers because much of the power of having container-managed behavior lies within the configuration. Without proper and sufficient documentation, it would be difficult to understand the expected behavior of the EJB applications we are building.