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: http://jcp.org/en/jsr/detail?id=316
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?”
|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: http://jcp.org/en/jsr/detail?id=314
Final release: http://jcp.org/aboutJava/communityprocess/final/jsr314/index.html
Ryan Lubke’s (Sun) blog:
New features in JSF 2.0
Part 1: http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature2
Part 2: http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature5
Part 3: http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature
Part 4: http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature3
Part 5: http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature1
Part 6: http://blogs.sun.com/rlubke/entry/jsf_2_0_new_feature4
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/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/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
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: http://jcp.org/en/jsr/detail?id=315
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?
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 http://java.sun.com/products/jsp.
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, 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: http://jcp.org/en/jsr/detail?id=317
Proposed Final Draft 2: http://jcp.org/aboutJava/communityprocess/pfd/jsr317/index2.html
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
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 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: http://jcp.org/en/jsr/detail?id=318
Proposed final draft: http://jcp.org/aboutJava/communityprocess/pfd/jsr318/index.htm
New features in EJB3.1 by Reza Rahman:
Part 1: http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB3-1
Part 2: http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesEJB31
Part 3: http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesEJB31-3
Part 4: http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB3-Part4
Feedback on Reza Rahman’s articles:
Part 1: http://www.theserverside.com/news/thread.tss?thread_id=48198
Part 2: http://www.theserverside.com/news/thread.tss?thread_id=48684
Part 3: http://www.theserverside.com/news/thread.tss?thread_id=49108
Part 4: http://www.theserverside.com/news/thread.tss?thread_id=49749
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, 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.
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
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: http://www.jcp.org/en/jsr/detail?id=311
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