Years ago, i believe Q4-2000, we made a website that almost from the day it went live had to serve some rather heavy content with 30.000 hits a day. We finally settled on a cluster of 3 Tomcat-4 servers, 2 MySQL DBs, some homebrewed caching (site was read-mostly), some light TX-management and straight JDBC with (cached) prepared statements. That’s it. Surprisingly, the performance was great!
Nowadays EJBs would probably be used for this, but i’m still not convinced why.
I have the feeling that there is indeed some threshold in the level of importance of a managed environment/container for a project, above which the use of EJBs over other frameworks is justified, but i believe the threshold is much higher than should be expected from the percentage of applications using them.
Any thoughts on this?
Some very useful thoughts on this issue may be found in Rod Johnson’s book “Expert one-on-one J2EE design and development”, Chapter 6 and 7.