alt
Advertisement
Sponsored links
Certification Series
Online Training
Career Series
Exforsys
Exforsys arrow Certification Series arrow SCBCD arrow SCBCD Study Notes : Chapter 3 : Session Bean Component Contract (Part 2)
Site Search


SCBCD Study Notes : Chapter 3 : Session Bean Component Contract (Part 2)
Article Index
SCBCD Study Notes : Chapter 3 : Session Bean Component Contract (Part 2)
Page 2
Page 3

.SCBCD Study Notes : Chapter 3 : Session Bean Component Contract (Part 2)

Please find the Study Notes and resources which covers the 2nd Part of Chapter 3 : Session Bean Component Contract, as part of the Sun Certified Business Component Developer exam CX-310-090.

4. Match the correct description about purpose and function to which session bean type they apply: stateless, stateful, or both.

5. Given a list of responsibilities related to session beans, identify those which are the responsibility of the session bean provider and those which are the responsibility of the EJB container provider.

6. Given a list of requirements, identify those which are the requirements for a session bean class, a remote component interface, a remote home interface, create methods, business methods, a local component interface, and a local home interface.

SCBCD Study Notes : Chapter 3 : Session Bean Component Contract (Part 2)

Match the correct description about purpose and function to which session bean type they apply: stateless, stateful, or both.

The conversational state of a STATEFUL session object is defined as the session bean instance’s field values, plus the transitive closure of the objects from the instance’s fields reached by following Java object references.

STATELESS session beans are session beans whose instances have no conversational state. This means that all bean instances are equivalent when they are not involved in servicing a client-invoked method.

Because all instances of a STATELESS session bean are equivalent, the container can choose to delegate a client-invoked method to any available instance. This means, for example, that the Container may delegate the requests from the same client within the same transaction to different instances, and that the Container may interleave requests from multiple transactions to the same instance.

There is no fixed mapping between clients and STATELESS instances. The container simply delegates a client’s work to any available instance that is method-ready.

There is "method ready" STATE for STATEFUL session beans. Because they have relationship: one client - one bean.

There is "method ready" POOL for STATELESS session beans. Because they have relationship: one client - many beans.

Given a list of responsibilities related to session beans, identify those which are the responsibility of the session bean provider and those which are the responsibility of the EJB container provider.

Bean Provider's responsibility

The session bean provider is responsible for providing the following class files:

  • Session bean class.
    .
  • Session bean’s remote interface and remote home interface, if the session bean provides a remote client view.
    .
  • Session bean’s local interface and local home interface, if the session bean provides a local client view.

Container Provider's responsibility

The container provider is responsible for providing the deployment tools and for managing the session bean instances at runtime.

The deployment tools provided by the container are responsible for the generation of additional classes when the session bean is deployed. The tools obtain the information that they need for generation of the additional classes by introspecting the classes and interfaces provided by the enterprise bean provider and by examining the session bean’s deployment descriptor.

The deployment tools must generate the following classes:

  • A class that implements the session bean’s remote home interface (session EJBHome class).
    .
  • A class that implements the session bean’s remote interface (session EJBObject class).
    .
  • A class that implements the session bean’s local home interface (session EJBLocalHome class).
    .
  • A class that implements the session bean’s local interface (session EJBLocalObject class).

The deployment tools may also generate a class that mixes some container-specific code with the session bean class. This code may, for example, help the container to manage the bean instances at runtime. The tools can use subclassing, delegation, and code generation.

  • The session EJBHome class, which is generated by the deployment tools, implements the session bean’s remote home interface. This class implements the methods of the javax.ejb.EJBHome interface and the create< METHOD > methods specific to the session bean. The implementation of each create< METHOD >(...) method invokes a matching ejbCreate< METHOD >(...) method.
    .
  • The session EJBObject class, which is generated by the deployment tools, implements the session bean’s remote interface. It implements the methods of the javax.ejb.EJBObject interface and the business methods specific to the session bean. The implementation of each business method must activate the instance (if the instance is in the passive state) and invoke the matching business method on the instance.
    .
  • The session EJBLocalHome class, which is generated by the deployment tools, implements the session bean’s local home interface. This class implements the methods of the javax.ejb.EJBLocalHome interface and the create< METHOD > methods specific to the session bean. The implementation of each create< METHOD >(...) method invokes a matching ejbCreate< METHOD >(...) method.
    .
  • The session EJBLocalObject class, which is generated by the deployment tools, implements the session bean’s local interface. It implements the methods of the javax.ejb.EJBLocalObject interface and the business methods specific to the session bean. The implementation of each business method must activate the instance (if the instance is in the passive state) and invoke the matching business method on the instance.
    .
  • The deployment tools are responsible for implementing the handle classes for the session bean’s REMOTE HOME and REMOTE interfaces.
    .
  • The deployment tools are responsible for implementing the class that provides meta-data to the remote client view contract. The class must be a valid RMI Value class and must implement the javax.ejb.EJBMetaData interface.
    .
  • The container must ensure that ONLY ONE thread can be executing an instance at any time. If a client request arrives for an instance while the instance is executing another request, the container may throw the java.rmi.RemoteException to the second request if the client is a remote client, or the javax.ejb.EJBException if the client is a local client.
    .
  • The container MUST follow the rules with respect to transaction scoping, security checking, and exception handling.
    .
  • The container MUST implement the SessionContext.getEJBObject() method such that the bean instance can use the Java language cast to convert the returned value to the session bean’s remote interface type. Specifically, the bean instance does not have to use the PortableRemoteObject.narrow(...) method for the type conversion.



 
< Prev   Next >
Exforsys Offers
© 2008 Exforsys.com
Joomla! is Free Software released under the GNU/GPL License.
Page copy protected against web site content infringement by Copyscape