Java EE 6 Predictions

When I first started working in Java a few years ago I was overwhelmed by the number of choices I had to make about frameworks, APIs, etc. I studied both JCP and defacto standards. I find it interesting that JSF, JPA and JAX-WS have gained widespread adoption despite some limitations. This tells me that developers do want standard APIs, and only shy away when the standards are overly complex or incomplete. When the standards improve developers come back. For example, EJB 2.1 CMP was replaced by JPA which is based on Hibernate's API. Choosing JCP standards make decision making easy (like .NET developers enjoy today), and makes it easier to work at other companies or to hire developers with the standard skills.

I have experience with J2EE and Java EE 5 technologies and am well aware of their limitations. Lately I've been closely following Java EE 6 technologies and really like what I see. Based on my perception of limitations in EE 5, and having read the JCP pages on EE 6 technologies, I am betting on widespread global adoption of the following technologies in new projects:

  • JSF 2.0
  • JPA 2.0
  • JAX-RS
  • JAX-WS
  • GlassFish V3
  • Java FX
  • Java 7's built-in module system

The last two aren't part of EE 6, but I think they will be popular too despite what the vocal minority says today. I'm also predicting the return of EJB. You watch and see. Version 3.1 finally completes the picture and integrates nicely with the new WebBeans JSR. They've added all of the important missing features and made it possible for EJBs to live inside of the servlet container. WebBeans for dependency injection and EJB 3.1 for enterprisy features eliminates the need for Spring. Those who are open minded enough to taste technologies outside The Church Of SpringSource will be delightfully surprised. New Java developers who managed to avoid brain-washing by close minded developers that think Java EE == J2EE/EJB 2.x will make up their own minds and will likely choose the JCP standards.