File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes Local Client Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "Local Client" Watch "Local Client" New topic
Author

Local Client

Kris Reid
Ranch Hand

Joined: Jan 05, 2005
Posts: 247
I know a remote client can't use a local interface but
Can a local client use a remote interface?
Saket Barve
Ranch Hand

Joined: Dec 19, 2002
Posts: 229

I know a remote client can't use a local interface but
Can a local client use a remote interface?


Well, just the term remote can be confusing.

It'd perhaps be easier if you keep in mind the term component interface. Every session or entity bean must have two interfaces: home interface and component interface.

Local clients "use" local home interface and local component interface. Remote clients "use" remote home interface and remote component interface.

You know that component interface is for remote client when you see that it implements EJBObject as against the component interface for local client, which will implement EJBLocalObject. LIkewise, the home interface for remote client must implement EJBLocalHome and the home interface for local client must implement EJBLocalHome.
Then there's the RemoteException which makes it obvious too.

Does this answer your query, Kris?

Regards,
Saket
Chetan Sahasrabudhe
Ranch Hand

Joined: Aug 09, 2004
Posts: 75
I guess this should help you kris,

You can surely use remote interface through local client. That is what everyone was doing in previous versions of EJB.

The problem was, even if my client (Mostly servlets) are sitting on same machine and same appserver/webserver combination, One was required to make remote calls through RMI.

What EJB 2.0 provided was Local interfaces for EJBHome and EJBObject and provided normal java object references so as to bypass "not so required" RMI calls.

On the other hand, if you are a remote client, then you surely cant call Beans marked local. The simple reason is, you will never get the stub from that bean. To be more presise you will not get the Home itself to create the bean.

so the concept goes like

Client Location----------------Remote aware Bean-------------Local Bean
Local (Same JRE)---------------Can be accessed-------------Can be accessed.
Remote (Diff. JRE/Machine)-----Can be accessed---------------Not possible

Happy learning
[ April 07, 2005: Message edited by: Chetan Sahasrabudhe ]

Thanks & Regards<br />Chetan
Kris Reid
Ranch Hand

Joined: Jan 05, 2005
Posts: 247
Thanks guys

Crystal Clear!!
 
 
subject: Local Client