At devoxx last year, it became quite clear that the industry is moving towards more lightweight approaches for enterprise development.
In particular Java EE 6 is a very good attempt to simplify enterprise development. In fact, I think that Java EE 6 will become the most productive environment for development, beating spring and replacing other alternatives such as Guice. In fact, Context and Dependency Injection (JSR-299) can be viewed as the standardized APIs of Guice. In the user interface area Java EE 6 is not expected to be that good (they put more lipstick on the JSF pig), but who cares, because there are plenty of good web frameworks (such as wicket) around.
Another movement is the movement to more lightweight containers. Java EE itself is becoming more lightweight. Additionally, Java EE application servers are basing themselves more and more on OSGI or are supporting OSGI out of the box and the technology is already being used in Java EE for various plugin solutions where behavior of a system can be extended at runtime. Also, the enterprise OSGI specs were just released on 23rd of March, making integration between Java EE and OSGI possible in a standardized way.
In fact, Glassfish V3 already supports some of the OSGI specs such as HTTP service and web application bundles. Also, there are some other additions such as exposing EJBs as OSGI services which are quite interesting.
Keywords: Java EE 6, Web application bundles, context and dependency injection, OSGI, embedded EJB container.