Chapter 6: Enterprise JavaBeans Overview
EJB 2.0 introduces support for message driven beans, new home interface method syntax, local interfaces, and inter-vendor interoperability. EJB 2.0 also enhances the container managed persistence model defined in EJB 1.1.
EJB 2.0 integrates the EJB component architecture with the Java Message Service (JMS) asynchronous messaging API. EJB 2.0 allows you to define message-driven bean (MDB) components to respond to JMS messages. An MDB component is similar to an EJB stateless session bean, but the MDB component responds only to JMS messages and has no direct client interface.
For information on JMS, see Chapter 31, “Using the Message Service.” For information on creating MDB components, see “Message-driven beans”.
EJB 2.0 allows you to define business methods in the home interface for an entity bean and changes the syntax of create methods.
Previously, create methods were restricted to methods named create. In EJB 2.0, you can use any name that begins with create, such as createNewAccount.
You can add business methods to the home interface for an entity bean to perform operations that are not specific to a single instance. For example, a home business method might return the average employee salary. For each home business method, the entity bean’s implementation class must have a method with the same name, except for the prefix ejbHome, and the same signature. For example, if the home interface declares:
public double averageSalary();
Then the implementation class must contain:
public double ejbHomeAverageSalary();
The EJB 2.0 architecture introduces local interfaces for calls to an EJB component from within the same Java Virtual Machine. In EAServer, you can use local interfaces for intercomponent calls, and for component invocations made from servlets and JSPs hosted by the same server as the component. To use local interfaces, you must configure a local EJB reference for the JSP or EJB component that issues the call.
Using local interfaces can improve performance for calls to components hosted in the same server, but in coding you must be aware of the restrictions listed in “Calling local interface methods”.
EJB 2.0 enhances the Container Managed Persistence (CMP) model for entity beans as follows:
The deployment descriptor more fully describes the persistent fields in the bean and the required database queries, making for less work after deploying an EJB JAR file that contains CMP entity beans.
CMP entity beans in the same EJB JAR (which maps to an EAServer package) can have container-managed relationships. For example, an Order bean may have an items field that consists of a collection of Inventory bean instances representing the items being purchased. Or, an Employee bean may be related to itself, with manager and employees fields that contain Employee instances.
For more information on EAServer CMP support, see Chapter 27, “Creating Entity Components.”
EAServer 4.0 complies with the interoperability requirements in the EJB 2.0 specification to allow interoperability with other EJB 2.0 servers. EAServer continues to support CORBA-2.2 based interoperability, for interacting with other CORBA-based application servers and to allow interoperability between EJB components hosted by EAServer and EAServer components of other types. For more information, see Chapter 9, “EAServer EJB Interoperability.”
|Copyright © 2005. Sybase Inc. All rights reserved.|