my dog learned polymorphism*
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes ejbobject/bean instance Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "ejbobject/bean instance" Watch "ejbobject/bean instance" New topic
Author

ejbobject/bean instance

Shanthi Priya
Greenhorn

Joined: Aug 05, 2004
Posts: 12
Hi,
I am novice to EJB. I got confused with some naming conventions can anyone please clear these

Q) Is EJBObject and RemoteInterface object one and the same?? or Is EJBObject same as bean instance.??

This seems to be very silly but please clear this.

Thanks in advance!
alzamabar
Ranch Hand

Joined: Jul 24, 2002
Posts: 379
Originally posted by Shanthi Priya:
Hi,
I am novice to EJB. I got confused with some naming conventions can anyone please clear these

Q) Is EJBObject and RemoteInterface object one and the same?? or Is EJBObject same as bean instance.??

This seems to be very silly but please clear this.

Thanks in advance!


EJBObject is a remote class (because extends the EJBObject interface, which in turn extends java.rmi.Remote) that is written by the container and that steps in the middle between the client and the bean instance. The bean functionalities are exposed to the client through the bean's component interface, which the EJBObject implements. To the client, the EJBObject (or better, the EJBObject stub) *is* the bean. A remote client get a reference (stub) to the EJBObject and invokes methods on the stub (which also implements the bean's component interface), thinking it's invoking methods directly on the bean instance. The reason is mainly that the bean instance mustn't be a '*remote* object, in other words a client shouldn't be able to invoke directly methods on it (because it could miss the Container services - which is what it's all about), but each business method invocation should pass through the EJBObject (which in the HF book is called the 'bean' bodyguard);

The bean developer (i.e. You), must write the bean class (ensuring that it implements all the methods defined in the component interface, but you should avoid, although technically possible from implementing the component interface), the home and the component interface; the container writes the EJBHome, EJBObject, EJBHome_stub, EJBObject_stub objects, which are the 'interface' the client sees and can work with.

There is then a difference between the bean instance (as a simple object) and the 'fully qualified bean', which is the bean instance once the container has assigned a context to it and invoked the ejbCreate() method (for session beans), or when simply a context has been assigned to it (in case of entity beans). An ordinary java object (let's say the bean class when only the constructor has been invoked), can't do all the things a bean can, but you will learn it along the way.


Marco Tedone<br />SCJP1.4,SCJP5,SCBCD,SCWCD
 
jQuery in Action, 2nd edition
 
subject: ejbobject/bean instance
 
Similar Threads
ejbobject/bean instance
ejbobject doubt
Concurrency in entity bean
Proxy pattern
ejbhandle