Exforsys.com
 

Sponsored Links

 

SCBCD Tutorials

 
Home Certification SCBCD
 

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

 

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

Page 2 of 3



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.


The following are the requirements for session BEAN CLASS:


  • The class MUST implement, directly or indirectly, the javax.ejb.SessionBean interface.
    .
  • The class MUST be defined as public, MUST NOT be final, and MUST NOT be abstract (NOTE, CMP ENTITY bean class MUST be abstract).
    .
  • The class MUST have a public constructor that takes NO parameters. The Container uses this constructor to create instances of the session bean class.
    .
  • The class MUST NOT define the finalize() method.
    .
  • The class may, but is not required to, implement the session bean’s component interface (NOTE: AVOID passing of this).
    .
  • The class MUST implement the business methods and the ejbCreate methods.
    .
  • If the class is a STATEFUL session bean, it may optionally implement the javax.ejb.SessionSynchronization interface.
    .
  • The session bean class may have superclasses and/or superinterfaces. If the session bean has superclasses, then the business methods, the ejbCreate< METHOD > methods, the methods of the SessionBean interface, and the methods of the optional SessionSynchronization interface may be defined in the session bean class, or in any of its superclasses.
    .
  • The session bean class is allowed to implement other methods (for example helper methods invoked internally by the business methods) in addition to the methods required by the EJB specification.

The session BEAN CLASS may define zero or more business methods whose signatures must follow these rules:


  • The method names can be arbitrary, but they MUST NOT start with “ejb” to avoid conflicts with the callback methods used by the EJB architecture.
    .
  • The business method MUST be declared as public.
    .
  • The method MUST NOT be declared as final or static.
    .
  • The argument and return value types for a method MUST be legal types for RMI/IIOP if the method corresponds to a business method on the session bean’s remote interface.
    .
  • The throws clause may define arbitrary application exceptions.

The session BEAN CLASS must define one or more ejbCreate< METHOD >(...) methods whose signatures must follow these rules:


  • The method name MUST have ejbCreate as its prefix.
    .
  • The method MUST be declared as public.
    .
  • The method MUST NOT be declared as final or static.
    .
  • The return type MUST be void.
    .
  • The method arguments MUST be legal types for RMI/IIOP if there is a create< METHOD >(...) corresponding to the ejbCreate< METHOD >(...) method on the session bean’s remote home interface.
    .
  • The throws clause may define arbitrary application exceptions, possibly including the javax.ejb.CreateException.

The following are the requirements for the session bean’s REMOTE [component] interface:


  • The interface MUST extend the javax.ejb.EJBObject interface.
    .
  • The methods defined in this interface MUST follow the rules for RMI/IIOP. This means that their argument and return values must be of valid types for RMI/IIOP, and their throws clauses must include the java.rmi.RemoteException.
    .
  • The remote interface is allowed to have superinterfaces. Use of interface inheritance is subject to the RMI/IIOP rules for the definition of remote interfaces.
    .
  • For each method defined in the remote interface, there must be a matching method in the session bean’s class. The matching method must have:
    • The same name.
    • The same number and types of arguments, and the same return type.
    • All the exceptions defined in the throws clause of the matching method of the session bean class must be defined in the throws clause of the method of the remote interface.
      .
  • The remote interface methods must not expose local interface types, local home interface types, or the managed collection classes that are used for entity beans with container-managed persistence as arguments or results.



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


Read Next: SCBCD Study Notes : Chapter 4 : Session Bean Life Cycle



 

 

Comments



Post Your Comment:

Members Please Login
Your Name:*
e-mail ID:(required for notification)*
Image Verification: 
 
 Subscribe    

Sponsored Links

 

Subscribe via RSS


Get Daily Updates via Subscribe to Exforsys Free Training via email


Get Latest Free Training Updates delivered directly to your Inbox...

Enter your email address:


 

Subscribe to Exforsys Free Training via RSS
 

 
Partners -  Privacy and Legal Policy -  Site News -  Contact   Sitemap  

Copyright © 2000 - 2009 exforsys.com. All Rights Reserved

Page copy protected against web site content infringement by Copyscape