I work at « Etat de Vaud » in Switzerland and we have a lot of j2ee Servlet applications which run on Tomcat 6.0.x, that are multi-modules Maven projects.
My main concern is about development time, about the time the developer spend (or loose) compiling, packaging, deploying and running the application between 2 « tests »
Of course, we use unit tests extensively here, to develop Services, DAOs and other classes, but when it comes to pure web development (understand JSP) the « round-trip » time can become huge.
For example, on one of our project, when the developer change code in a controller (Spring MVC), it must
- Run maven to compile the code and package the war (~30-60 seconds)
- Copy the war to webapps of the Tomcat server (or have a symlink if on Linux)
- Then tomcat redeploy the application, including the Spring context (DAOs, Services, SessionFactory) which takes around 30 seconds
One code modification, round-trip time = ~1 minute…
Compare that to PHP, Ruby on Rails or even Grails which are quite instantaneous!