Java EE 6 And The JCP Stuff - Perfect For Lazy Developers

Clarification: all developers should be lazy :-).

Java EE (6) is an abstraction of existing products (Hibernate, TopLink, Glassfish, JBoss, Geronimo, Tomcat+, ...) and API-implementations. So if you develop Java EE 6 applications, you can start with the spec and dig into the implementation details as needed. If you are using e.g. Glassfish application server, EclipseLink (JPA), Equinox or Felix(OSGi), RedHat Weld (CDI) ... are working for you - but you don't have usually to care about the details.

The best of all - if you don't like a certain implementation - you can change your application server. After learning plain Java EE (5 or 6 - both are similar), you will be able to work with all application server vendors with minimal learning curve. This year I would expect at least 4 Java EE 6 server implementations: Glassfish 3 (is done), JBoss 6 (not yet), Geronimo (announced), Resin (only parts - but sounds interesting).
Java EE 5 is already implemented by 14 different servers - I would expect at least the same support for Java EE 6 in longer term.

Btw. plain Java EE 5 spec together with JDK 1.6 was sufficient for >95% of all cases in my past projects in last 3 years. Actually the majority of the projects was absolutely portable - without any vendor-specific extensions. With Java EE 6 you will gain even greater vendor independence - Servlet 3, JPA 2, CDI, EJB 3.1, JSF 2 standardized a lot more vendor specific stuff.

If you are not lazy - here are some other arguments for switching.


On, the second certified JEE6 implementation is TMAX JEUS 7. Never heard of this one. It's Korean.

Posted by OliBlogger on January 08, 2010 at 06:49 PM CET #


thats interesting - then I would predict 5 Java EE 6 servers in 2010 :-). I only know the guy behind TMAX - nice, smart and passionated. Never saw the server...



Posted by Adam Bien on January 08, 2010 at 07:24 PM CET #

"The best of all - if you don't like a certain implementation - you can change your application server."

To me, this is far from being the best of all, but is actually a deal breaker.

Based on my experience, changing the application server is usually not an option. Licenses need to be bought, support contracts signed, support staff trained, developer environments upgraded - *if* the client agrees to this change. Using a Spring-based configuration, the libraries I wish to use are configured and bundled in a single, self-contained WAR file. Wish to use Hibernate instead of EclipseLink? Want to upgrade your existing application from JPA 1.0 to 2.0? No problem! Sure, library setup takes some time, the WAR file takes 30MB and the implementation is not completely standards-compliant, but there is full flexibility in choosing API implementations and versions. And AFAIK, application servers do not offer this possibility.

With that being said, the current crop of API implementations in Glassfish v3 appears to be of high quality and sufficient to implement all business use cases. As soon as application servers stop being bound to a given EE standard (or I am proven wrong), I will reconsider my position.

Posted by Spiff on March 07, 2010 at 06:59 AM CET #


yes. But you will have to sign two contracts - one with SpringSource (VMWare) to get patches and another with your application server vendor. I guess in long term there will be only two options - Spring only and Java EE 6 only. Mixing both will be too expensive from the operations / support perspective.

We switched appservers in the past *because* of licensing and support issues. So Java EE is a very good insurance policy...

thanks for your interesting comment!,


Posted by Adam Bien on March 07, 2010 at 03:24 PM CET #

Hi there

We are running Java EE5 in our project in Netbeans 6.8. We would like to use Java EE6 how can we upgrade.

Thank you
Kind regards

Posted by Andre on May 19, 2010 at 04:22 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
...the last 150 posts
...the last 10 comments