![]() |
![]() |
|
![]() |
![]() |
Encyclopedia :
E :
EN :
ENT :
Enterprise Java Beans |
|
|
Enterprise Java BeansThe Enterprise Java Beans specification is one of the several Java APIs in the Java 2 Platform, Enterprise Edition. The specification details how an application server provides server-side objects known as Enterprise Java Beans, or EJBs, with: Additionally, the Enterprise Java Bean specification defines the roles played by the EJB container and the EJBs as well as how to deploy the EJBs in a container. Enterprise Java Bean Basics EJBs are deployed in an EJB container within the application server. Each EJB must provide a Java implementation class and two Java interfaces. The EJB container will create instances of the Java implementation class1 to provide the EJB implementation.
The proxies use RMI-IIOP to communicate with the EJB server. The server will invoke a corresponding method on an instance of the Java implementation class to handle the remote method invocation.
Home Interface As stated previously, the Home Interface allows client code to manipulate certain class methods of the EJB, that is, methods that are not associated with any particular instance. Remote Interface The Remote Interface specifies the instance specific methods of the bean class. EJB Implementation Class EJB implementation classes are supplied by the application developers. Correspondence between Interface Methods and Implementation MethodsMethod invocations on the home interface are dispatched to corresponding method on the bean implementation class with the prefix 'ejb' added and with the first letter of the home interface method capitalized and having exactly the same argument types. Method invocations on the remote interface are dispatched to corresponding implementation method having the same name and arguments. EJB TypesAn EJB container can hold four major categories of beans; they are: Stateless session beans are distributed objects that do not have state associated with them thus allowing concurrent access to the bean. The contents of instance variables are not guaranteed to be preserved across method calls. Stateful session beans are distributed objects having state. The state is not persisted, but access to the bean is limited to only one client. Entity beans are distributed objects having persistent state. The persistent state may or may not be managed by the bean itself. Beans in which their container manages the persistent state are said to be using Container Managed Persistence or CMP, whereas beans that manage their own state are said to be using Bean Managed Persistence. Message Beans are distributed objects that respond to JMS messages. Remote Communication The EJB specification requires that EJB containers support accessing the EJBs using RMI-IIOP. EJBs may be accessed from any CORBA application. PersistenceEJB containers are required to support container managed persistence (CMP) as well as bean managed persistence (BMP). TransactionsEJB containers are required to support container managed transactions as well as bean managed transactions. Container managed transactions use a declarative syntax for specifying transactions in the deployment descriptor. EventsJMS is used to send messages from the beans to client objects in order to allow clients to receive asynchronous messages from these beans. Naming and Directory servicesClients of the enterprise Java bean locate the Home Interface implementation object using JNDI. The Home interface may also be found using the CORBA name service. From the home interface, client code can find entity beans, as well as create and delete existing EJBs. SecurityThe EJB container is responsible for ensuring the client code has sufficient access rights to an EJB. Deploying EJBsThe EJB Specification also defines a mechanism which allows enterprise Java beans to be deployed in a similar manner regardless of the specific EJB platform that is chosen. Information about how the bean should be deployed such as the name of the home or remote interfaces, whether and how to store the bean in a database, etc. are specified in the deployment descriptor. The deployment descriptor is an XML document having an entry for each EJB to be deployed. This XML document specifies the following information for each EJB:
Further, each EJB platform vendor generally provides their own tools that will read this deployment descriptor and possibly generate a set of classes that will implement the home and remote interfaces mentioned earlier. Recommended Programming Model In the recommended programming model from Sun, stateful and stateless session beans are used for business logic whereas entity beans are used for business data. External links |
|
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License. |
|
| © 2008 Chamas Enterprises Inc. |