I'm more worried of one thought,whether EJBs are good enough to carry on robust applications such as banking /financial transactions or not. Because we are facing hell of performance issues(in my project whihc is related to e-banking). Some times we could'nt log more than 30 or 40 concurrent users as well. Now the question is whether to take lead with EJBs or not. I heard that many (It might be a romour also!!Please forgive me if I'm rong) applications which are built on EJB component structure are severely down grading. What do you say guys(I agree that 80 pct of the time is spent either for DB or in solving network issues).
This is just to analyse whether we are going in a right path or not. No doubt the architecture is so beautiful that once u r accoustomed ,no one can turn around off from it.
The J2ee platform is touted as one of the standards for building server side applications. As you pointed out most of the bottlenecks might be in the Database area, especially when using CMP. In your project, did you do profiling to determine where the bottlenecks are? Do remember that there could be problems in the underlying VM also. There are several VM suppliers in the market and not all of them scale well. I would refer you to the VolanoMark benchmark tests ( which is linked to from this site ) which would give you some idea of the right VM to choose.
But assuming that the VM is scaling well, then it is important to realize that CMP can cause its own performance problems if not properly architected. Bill Newport's article on CMP Performance ( specifically related to IBM Websphere ) , which is referred to in this site is a good source on how to combat these performance problems.
IMHO EJB technology is a great asset to developers and just like any other server side technology, would require careful tuning to make it work properly.