I'm familiar with the LAMP stack and over the years have successfully deployed a handful of web sties based on it. I've used everything from Apache + modPerl, to PHP, to Ruby and Rails. With good use of caching my Rails site can sustain a pretty good load, but I'm not talking massive.
I never really liked Java as a language, or XML for that matter, and have very much been ignoring the whole J2EE (JEE) side of things. For those who have had real and direct experience in both worlds: is there something super cool about J2EE that I'm missing, or is just a bunch of hot air? What justifies the high price of the proprietary app servers?
I'm not trolling here: I'm looking for concrete examples of things that J2EE really nails that are missing from modern LAMP frameworks, if such differences exist. (Modern = Rails, Django, etc). Alternatively pipe in with those things that LAMP really does better (fewer XML sit ups for one).
+++++ Update October 16, 2008
I'm sad to report that most of the replies here are not helpful, and simply fall into one of two categories: "It scales because here are three examples of large web sites" and "It scales because it is really actually much better than the LAMP stack".
I've done quite a bit of reading, and have concluded that JEE only has one really good trick: transactions (thanks Will) and as for the rest you can succeed or fail on your own merit, there is nothing intrisicly in the environment to cause you to create a scalable and reliable web site, indeed JEE has quite a few traps that make it easy to fail (for instance it is easy to start using session beans without realizing that you are paying now for quite a bit of JMS traffic that perhaps could have been avoided with a different design.)
Useful discussion
- http://www.subbu.org/blog/2007/10/large-scale-web-site-development
- http://highscalability.com/
- http://www.oreillynet.com/onlamp/blog/2004/07/php_scales.html
- http://www.schlossnagle.org/~george/blog/index.php?/archives/29-Why-PHP-Scales-A-Cranky,-Snarky-Answer.html
- http://blogs.law.harvard.edu/philg/2003/09/20/