I am developing a small workflow for HR management. Currently i have connection pooling using DDConnectionBroker and i have deployed the application on tomcat. I use struts for MVC. My application pattern is like this.
I'm quite sure that you won't gain any performance benefits by adding an EJB in your design - that will only result in overhead. There are some other concerns, like transaction support and stuff, that an EJB container will give you, but you might as well stay with the current design and use a lightweight container like Spring to handle the transactions if needed.
Also, if you will need clustering further on, several application servers will handle that for you if you use EJBs, but there are other ways of doing that without adding the extra complexity of EJBs.
EJB's are distributable components and one of their best features is that they can make an application more scalable.
Please correct me if I'm wrong as I might be on thin ice here, but the fact that the components in themselves are distributable doesn't necessarily mean that they are more scalable, does it? There's no reason to have the components managed on another server instance than where they're used (that adds an enormous amount of overhead in marshalling/unmarshalling), so I'm guessing that you refer to clustering.
Admittedly, this is a bit of speculation on my part, but I can't see any benefits with having a stateless EJB clustered (as compared to running on separate paralell server instances), clustered entity beans can be replaced by a distributed cache of POJOs if needed, and as I understand it stateful beans should be avoided as much as possible; if you need failover on session state you should probably handle that differently anyway.
And as long as you're NOT clustering your server environment (i.e. running on one single machine or on separate paralell server instances) the traditional EJB server does add quite a bit of overhead - compare the memory consumption of a lightweight container with that of a traditional app server for instance.
Admit nothing. Blame everyone. Be bitter.
please buy my thing and then I'll have more money:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop