Java EE 6 progress page

On this page I will try to keep track about resources related to Java EE 6. This page started as a progress page in the running up to the release, and now that this release has happened will continue to track resources specifically related to Java EE 6.

Java EE 6 overal (final release done!)

Java EE 6 is the current edition of the enterprise platform that powers quite a lot of (web) applications. Java EE itself consists out of a lot of sub specifications, with JSF (web) and EJB (business) being major parts of that. New for this release will be Webbeans, a specification that integrates JSF and EJB more tightly than was possible before.

Main JSR:

2009/01 Java EE 6 Platform Draft Published featuring the Web Profile
2009/04 Pruning The Deadwood from Java EE
2009/04 JSR-316: JavaTM Platform, Enterprise Edition 6 – Interview with Jason Greene
2009/10 Java EE 6 Proposed Final Draft Hints at Future Direction of the Platform
2009/11 EE 6 tsunami
2009/12 Java EE 6, Glassfish 3 and NetBeans 6.8 Released: Q&A with EE 6 Specification Lead Roberto Chinnici
2010/02 Resin Java EE 6 Web Profile Implementation
2010/09 javaOne 2010 : Java EE 6 Panel “What do we do now?”

Release estimate:

Event Original date actual date estimated date (*)
Expert group formed Jul 2007 07 Oct, 2007
First expert draft Aug 2007 unknown
Early Draft Review Oct 2007 22 Nov, 2008
Public Review Dec 2007 23 Feb, 2009
Proposed Final Draft Mar 2008 06 Oct, 2009 – ???
Final Approval Ballot not originally planned 17 Nov, 2009-30 Nov 2009
RI beta release Q2 2008 Q4 2009
Final release Q4 2008 10 Dec, 2009
Implementation in Glassfish 10 Dec, 2009
Implementation in Jboss 17 Dec, 2010 H2 2010 (Final release + several months)

*) Estimated dates are my own estimates, based on the current actual dates and the original delta between dates. Glassfish release date is based on the fact that it follows the spec daily and even is ahead of the spec at times. According to the release schedule of Glassfish V3, this will be in December 2009. Jboss will support Java EE 6 in Jboss AS 6.0, of which milestone 4 was released in July 2010. With one CR1 scheduled before the final release, it’s expected that this final release will happen in late 2010. In September 2010, JBoss announced the final release to be at 17 Dec, 2010).

JSF 2.0 (final release done!)

Despite some early critic, JSF is becoming the default web layer technology in Java EE. In a way, JSF can be seen as a foundational technology upon which a very vibrant community is able to build exciting new solutions.

Main JSR:
Final release:


Ryan Lubke’s (Sun) blog:

New features in JSF 2.0
Part 1:
Part 2:
Part 3:
Part 4:
Part 5:
Part 6:

Ed burns’ (Sun/Oracle) blog:

2007/05 New JSF 2.0 features discussion
2007/06 JSF 2.0 presentation
2007/11 Easier JSF custom components
2008/02 JSF and AJAX
2009/07 What’s New in JSF 2?
2009/09 Dealing Gracefully with ViewExpiredException in JSF2
2009/09 JSF2 Composite Component Metadata
2009/10 JSF2 Facelet Tag Handlers

Dan Allen’s (Jboss) dzone articles:

2009/10 Part 1 – JSF 2 – Seam’s Other Avenue to Standardization
2009/10 Part 2 – JSF 2 GETs Bookmarkable URLs
2009/11 Part 3 – Fluent Navigation in JSF 2
2009/12 Part 4 – Ajax and JSF, Joined At Last

2009/01 JSF 2.0: A Component’s Controller (see driscoll for much more)
2009/05 ICEFaces 2.0 And JSF 2.0 Together
2009/05 JSF 2 fu, Part 1: Streamline Web application development
2009/05 JSF 2 fu, Part 2: Templating and composite components
2009/05 JSF 2 fu, Part 3: Event handling, JavaScript, and Ajax
2009/07 What’s cool in Java EE 6 — JSF 2.0
2009/08 More cool in Java EE 6 — JSF 2.0, Bean Validation
2009/09 Learning JSF2: Navigation
2009/10 JSF2 and POST Redirect GET
2009/12 Is @javax.faces.bean.ManagedBean Dead on Arrival?
2010/01 JSF 2 Gains Facelets, Composite Components, Partial State Saving and Ajax
2010/01 A Flash in the Pan?
2010/10 JSF 2.0: View parameters
2011/05 Customizing Components in JSF 2.0

Servlet 3.0

The main underlying technology of the servlet container (the web part of a Java EE AS) is of course the servlet API itself. This technology is foundational to both JSP and JSF. Previously moving at a relative slow pace (there were only very minor changes between Servlet 2.4 and the current Servlet 2.5), some major additions are planned for Servlet 3.0.

Main JSR:

Rajiv Mordani’s Blog:

Servlet 3.0 PFD draft coming soon.

Sun Presentation from Rajiv Mordani about Servlet 3.0:

2008/12 More Servlet 3.0 PRD Previews: Asynch Support, Improved Servlet and Filter Registration
2008/12 Servlet 3.0 Public Review Sparks a Debate
2009/01 An Overview of Servlet 3.0
2009/01 Java EE 6 and Servlet 3.0 Overview
2009/05 Servlet 3.0 Proposed “Final” Draft
2009/06 Java™ Servlet 3.0: Empowering Your Web Applications With Async, Extensibility and More
2010/04 Migrating to Servlets 3.0: Thoughts on @WebServlet
2010/07 Java EE 6: Application Security Enhancements
2010/12 JEE 6 and Spring MVC [Async Servlets]
2011/05 Servlet 3.0: ARP, to push or not?

JSP 2.2

Despite a rise in popularity for Facelets, JSP is still an important view description technology for the Java EE platform. The fact that millions of JSP pages have already been written and are still in active use causes this technology to be relevant for some time to come.

It’s rumored that Java EE 6 will see an updated version of JSP; JSP 2.2. However, no JSR has been filed for this and almost no references can be found for it. The Java EE 6 spec document says the following:

EE.6.5 JavaServer Pagesâ„¢ (JSP) 2.2 Requirements
The JSP specification depends on and builds on the servlet framework. A Java EE
product must support the entire JSP specification.
The JSP specification is available at

Parallel to this, there is a JSP 2.1 MR 2 in the works. This will add, among others, parameters to EL expressions so that bean methods can be invoked from the view:

In this blog it is suggested that JSP 2.1 MR2 will be the new JSP version included with Java EE 6, and thus that there won’t be a JSP 2.2 for now:
JSR 245 MR: Part I – Expression Language (EL)

JPA 2.0

JPA, Java Persistence Architecture, is the default ORM implementation in Java. Basically it allows a developer to specify a simple mapping with annotations or in XML from an Object to a relational data base table. JPA is based on existing ORM solutions like Oracle’s Toplink and Hibernate. Although originally part of EJB3, JPA has always been applicable to the entire Java platform, including Java SE. JPA 2.0 will be based on Eclipselink.

Main jsr:
Proposed Final Draft 2:

Eclipselink for JPA 2.0


Linda DeMichiel’s Blog:
Early (May 2, ’08) Java Persistence 2.0 Early Draft Available
Public (Nov 14, ’08) Java Persistence 2.0 Public Draft
Public (Nov 25, ’08) Java Persistence 2.0 Public Draft: Criteria API
Final Draft (Mar, ’09) Java Persistence 2.0 Proposed Final Draft

Gavin King’s Blog:
A typesafe criteria query API for JPA
Java 6 compiler plugins and typesafe criteria queries

2008/03 Unidirectional one-to-many and indexed lists problems in JPA 1
2008/05 Orphan removal (early draft)
2009/01 Two Type-Safe Criteria API Proposals for JPA 2.0
2009/02 JPA 2.0: Why AccessType is Relevant
2009/05 Java Persistence 2.0 Proposed Final Draft
2009/07 JPA 2.0 Concurrency and locking
2010/08 The Top 5 New Annotations in JPA 2
2010/09 JPA 2 new feature @ElementCollection explained
2010/09 JPA Criteria API by samples – Part-I / Part-II
2010/11 The JPA 2 Enhancements Every Java Developer Should Know

EJB 3.1

EJB is the part of Java EE that provides solutions for managing business code related artifacts, mainly transactions and domain entities. EJB started off in the wrong direction and especially EJB2 has received a lot of critic for being extremely cumbersome and heavyweight. EJB3 however is a complete redesign, using an ultra light approach and a very elegant design. Some say that EJB3 is actually a 1.0 version of a complete new technology. In Java EE 6, few major new additions will be done for EJB. Instead, existing functionality will be tuned and polished.

Main JSR:
Proposed final draft:

New features in EJB3.1 by Reza Rahman:

Part 1:
Part 2:
Part 3:
Part 4:

Feedback on Reza Rahman’s articles:

Part 1:
Part 2:
Part 3:
Part 4:

Various blog entries and articles

A Sampling of EJB 3.1
EJB 3(1) – So, How Portable Is Actually This Stuff In The Practice?
EJBs in a WAR – Simplified packaging defined by EJB 3.1, Available in GlassFish v3
EJB 3.1 – and Is There Still Room For POJOs?
EJB 3.1 – A Significant Step Towards Maturity
2009/08 Simplest possible EJB 3.1 / ReST (JSR-311) component
2009/10 EJB 3.1 – Asynchronous Session Beans
2009/12 Portable Global JNDI names
2010/01 EJB 3.1 (Asynchronous Beans)
2010/02 Java EE6: EJB3.1 Is a Compelling Evolution

JCA 1.6

JCA, Java Connector Architecture, may not be the most known of the various Java EE libraries, but is a powerful technology. JCA 1.6’s most visible features are bean validation and extended support for concurrency via distributed work processing.

Main jsr:
Proposed Final Draft: JSR-000322 Java EE Connector Architecture 1.6

2010/04 A Look Inside the JBoss JCA Project; New Features in JCA 1.6

Jesper’s blog:

2009/07 Announcing JBoss JCA 1.0.0.Alpha1
2009/07 JBoss JCA 1.0.0.Alpha2 is out
2009/08 JBoss JCA 1.0.0.Alpha3 is out
2009/09 JBoss JCA 1.0.0.Alpha4 is out
2009/10 JBoss JCA 1.0.0.Alpha5 is out
2009/11 JBoss JCA 1.0.0.Alpha6 is out
2009/12 JBoss JCA 1.0.0.Alpha7 is out

Connectors 1.6 Proposed Final Draft and the availability of Java EE SDK Preview
Resource Adapter Annotations

JAX-RS 1.1

JAX-RS 1.1 is an additional web services specification that was added to Java EE 6. Like the existing JAX-WS, it allows you to expose an API via the web, but unlike JAX-WS it focusses on RESTfull stateless services as a core principal. Before JAX-RS 1.1 was included in Java EE 6, there was a standalone version; JAX-RS 1.0. This is similar to the situation where there was a Swing version before it was included in Java SE 1.2 and a JSF version before it was included in Java EE 5.

Main jsr:

2009/04 Overview of JAX-RS 1.0 Features (non Java EE 6)
2010/02 Java EE 6 Web Services: JAX-RS 1.1 Provides Annotation Based REST Support
2010/02 JAX-RS 1.1: What’s New?
2010/06 REST made easy with Java EE 6 and JAX-RS 1.1
2010/07 A Fresh New Jersey
2010/09 JAX-WS and Java 6 EE

Arjan Tijms

css.php best counter