This week's book giveaway is in the JDBC forum.
We're giving away four copies of Make it so: Java DB Connections & Transactions and have Marcho Behler on-line!
See this thread for details.
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes application client J2EE access pro's and cons Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "application client J2EE access pro Watch "application client J2EE access pro New topic

application client J2EE access pro's and cons

Peter Warde
Ranch Hand

Joined: Aug 18, 2004
Posts: 71
I am considering the pro's and con's of allowing an application client to access either the web or the ejb container as both are possible under the J2EE spec.

The benefits of connecting to the web tier is that only the web tier needs to be exposed to the outside world in the DMZ while the application tier can remain buried within the organisations security infra-structure behind inner firewalls. Of course this is a benefit only if the application client connects accross the internet - if it connects across a secure intranet I don't think it is a benefit as there is no exposure to the outside world.

The advantage of connectivity directly to the ejb container is that of greater performance (as the overhead of the web container is gone) and greater availability. If the web servers crash application clients can still access the system.

Does anyone have any thoughts on this (ie as to whether my reasoning are correct or not) and/or can throw any other light on this dilemma?


Cleuton Sampaio
Ranch Hand

Joined: Nov 11, 2005
Posts: 181
My advice is: use the Kiss principle ! Do not complicate things !

Create some BusinessDelegates and use them in the Web Tier and in the Client Application. Don�t try to connect to the Web Tier using the Java/Swing aplication.

You can use the same BusinessDelegates / Service Locators in both clients! Your Java/Swing may run in an Application Client Container for J2EE.

Cleuton Sampaio<br />Systems Architect<br />(SCEA,SCWCD,SCBCD,MCSE,MCSD)
Peter Warde
Ranch Hand

Joined: Aug 18, 2004
Posts: 71
Thanks Cleuton,

I have in fact taken up the idea of a J2EE Application Client as opposed to a Java stand-alone client - it does all the work for me and is configurable through its deployment descriptor. It also can use RMI-IIOP/SSL without any additional work.

I think also there is a good adavantage of increased availability if you access the ejb container directly - if the web servers crash the client application can still access the application. You can easily use Java Web Start. The drawback is that the ejb-container must be in the DMZ if the application client is accessing it across the internet.

I think this sounds right, but any thoughts are good.

I agree. Here's the link:
subject: application client J2EE access pro's and cons
It's not a secret anymore!