SCBCD Guide
HomeSCJP | SCWCD | SCBCD | SCEA | SCSA

--------------------------------------------------
EJB OVERVIEW
--------------------------------------------------
1. The following are considered to be goals of the EJB 2.0 Specification:

* Define the integration of EJB with the Java Message Service.
* Provide a local client view and support for efficient, lightweight access to enterprise beans from local clients.
* Provide improved support for the persistence of entity beans.
* Provide improved support for the management of relationships among entity beans.
* Provide a query syntax for entity bean finder methods.
* Provide support for additional methods in the home interface.
* Provide for network interoperability among EJB servers.

The following are goals of the EJB architecture:

* EJB architecture will be the standard component architecture for building distributed object-oriented business applications in the Java programming language.

* Application developers will not have to understand low-level transaction and state management details, multi-threading, connection pooling, and other complex low-level APIs.

* An EJB can be developed once, and then deployed on multiple platforms without recompilation or source code modification.

* EJB architecture will define the contracts that enable tools from multiple vendors to develop and deploy components that can interoperate at runtime.

* EJB architecture will be compatible with existing server platforms. Vendors will be able to extend their existing products to support EJBs.

* EJB architecture will be compatible with other Java programming language APIs.

* EJB architecture will provide interoperability between EJBs and J2EE components as well as non-Java programming language applications.

* EJB architecture will be compatible with the CORBA protocols.



2. EJB provider: The EJB Provider is the producer of EJBs. His or her output is an ejb-jar file that contains one or more EJBs.

Application Assembler: The Application Assembler combines EJBs into larger deployable application units. The input to the Application Assembler is one or more ejb-jar files produced by the Bean Provider(s).

Deployer: The Deployer takes one or more ejb-jar files produced by a Bean Provider or Application Assembler and deploys the EJBs contained in the ejb-jar files in a specific operational environment.

EJB Server Provider: The EJB Server Provider is a specialist in the area of distributed transaction management, distribute objects, and other lower-level system-level services. A typical EJB Server Provider is an OS vendor, middleware vendor, or database vendor.

EJB Container Provider: The EJB Container Provider (Container Provider for short) provides: 1) The deployment tools necessary for the deployment of enterprise beans and 2) The runtime support for the deployed enterprise bean instances.

System Administrator: The System Administrator is responsible for the configuration and administration
of the enterprise's computing and networking infrastructure that includes the EJB Server and Container.

3. Parameters are passed by value when used remotely Parameters are passed by reference when used locally.

4. When fetching frequently used read-only data, a stateless session bean should be used.

5. The SERIALIZED DD and ejb-jar MANIFEST file have been deprecated in EJB 2.0

6. Multiple clients can access the same EJBObject concurrently ( I think for stateless and entity beans).

7. Static variables should be final eg :- private static final x;

8. NON-SERIALIZABLE Objects cannot be accessed remotely.

9. Only the send part of Javamail is available to an EJB.