Home > Ask the SOA Experts > Questions & Answers > Could you tell me the various overheads that can occur if I use EJBs in terms of resource management?
Ask The SOA Expert: Questions & Answers
EMAIL THIS

Could you tell me the various overheads that can occur if I use EJBs in terms of resource management?

Daniel Somerfield EXPERT RESPONSE FROM: Daniel Somerfield

Pose a Question
Other SOA Categories
Meet all SOA Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 17 September 2001

I'm a project manager and I'm facing major confusion. The problem is that our company has various clients in Luxembourg, Spain and other places. We are planning to put a server in Germany which will run on Solaris and which has Weblogic and Oracle. We are planning to deploy EJB's in the Germany server and service our clients. We also have a server coming up in Zurich with Weblogic and Oracle and we are aiming to do a continuity of business from Germany to Zurich. I'm planning to use the EJB architecture.

Could you tell me the various overheads that can occur if I use EJBs in terms of resource management? Or which other platform could be useful?


>

That is a rather big question. EJBs are all about tradeoff. The portability, standardization and (with the bigger vendors) failover that comes with EJB definitely comes at a price. First of all, is the financial overhead. If you need a fully supported EJB implementation with distributed transactions, failover and clustering, you are looking at a $8-10,000 per processor license cost.

Additionally, there is performance overhead incurred by the EJB life-cycle, particularly in entity beans. Some of this overhead can be mitigated by vendor-specific bean caching options, but these performance enhancements often hamper the servers capability to give you up-to-the-second data.

Of course, any time you are using RMI or CORBA, you are incurring network overhead, but that is true of any distributed application. It really depends on the scale of your application. If each node requires distributed transactions, failover, etc, EJB could be the way to go. There is no reason that all your nodes have to be running an EJB server. For the simpler ones, you could simply use Java objects that are exposed via an transport or RPC mechanism of some kind.

I think the most important question in a big cross-continent app like yours is the transport. What model is most appropriate between nodes: RPC or asynchronous messaging, an XML API? How can you make that communication secure and robust enough for your business requirements? Once you figure that question out, you can handle the implementation of each node individually.


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



SOA Governance White Papers - BPM, EDA, IT Governance
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts