An interesting blog post discussing the merits of trying to simplify the Java web server runtime.
The first real issue is the overhead to develop and then start hosting java applications. It is difficult for host providers to support allowing each user the ability to run their own JVM processes in a sustained fashion. I remember the days when using PostgresSQL required you to have a dedicated server whereas you could use mysql easily by just setting up yourself for a small multi-tenant plan on a web server out there. Today Java is like PostgreSQL of those days. There is no easy way to simply set yourself up to run a small Java application in a shared tenant environment. Even if you did set yourself up chances are that you would be far less than satisfied with the performance in a multi tenant situation even though Java is actually a really really fast language.
When I had a passing fancy recently regarding Java recently — I couldn’t find a hosting provider for any price I was comfortable paying. The problem is summed up nicely above — it’s too hard to host. Java on the web — mainstream web — is never going to catch on if it can’t overcome at least this hurdle.
The only web platforms that are going to survive the long haul must adapt to the new web development model of shared hosting and inexpensive hosting, easy scaling …, simple and convenient programming; all things that the traditional Java web platforms does poorly.