This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.
We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line!
See this thread for details.
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

JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "Local Client" Watch "Local Client" New topic

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?

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!!
Have you checked out Aspose?
subject: Local Client
It's not a secret anymore!