Oracle's Java EE 7 Plans Include Adding Cloud and HTML5 Support to the Platform
Oracle has filed Java Specification Request (JSR) 342, the umbrella JSR for Java EE 7. The JSR places emphasis on emerging web technologies, cloud computing, and continued ease of use improvements including an overhaul to the JMS API. Elsewhere, JPA is scheduled to receive attention, and Oracle is talking about plans to revive the long dormant JCACHE JSR.
The primary focus for making Java EE more suited to the cloud is on multi-tenancy (having the same program execute in a variety of different environments from a local application server to a private cloud to a public cloud), application versioning, and support for non-relational (NRDBMS) data stores.
Speaking at the 2011 London QCon (a PDF of the slides can be downloaded here), Jerome Dochez suggested that there is also a need for tighter requirements between resource and state management, better isolation between applications, and common management and monitoring interfaces. He further argued that packaging improvements would be needed to allow multiple versions of an application to more readily co-exist.
The move to the cloud however is likely to require a full modularity solution, and one is not expected in the context of Java SE 7. With Java EE 7 linked to Java SE 7, it seems more likely that the full cloud-ready version of Java EE won't be available until Java EE 8, tentatively planned for December 2013. The JSR filing notes that the JSR
will investigate providing modularity and versioning capabilities sufficient to cover common developer use cases, such as using a later version of an API already included in the platform. This work will need to be coordinated with the upcoming modularity JSR for Java SE so as to provide alignment across the SE and EE platforms.
In terms of HTML5 and other emerging web standards the JSR states
We expect the Java EE 7 platform to add first-class support for some of the recent developments in the web space, including HTML5 and Web Sockets.
Dochez also stated that we should see a standard JSON API and a NIO.2 based web container.
JSR 341 will introduce a new version (3.0) of The Expression Language (EL) to Java EE. As well as considering new feature requests from users, the JSR filing notes that this JSR will look to make EL easier to use outside of a Java EE container. A separate JSR (344) contains a proposal to update JavaServer Faces to version 2.2. This again puts strong emphasis on HTML5 with support planned for HTML5 forms, the new Heading and Sectioning content model, and the Metadata content model. JSF 2.2 is likely to be released independently of Java EE 7, the JSR filing noting that the target platform is Java EE 6. Finally in the web category, the Servlet specification will see some minor improvements managed under JSR 340.
Under the ease of use theme the JMS API will be overhauled (the JSR for this is 343). There are also plans to make some minor tweaks to CDI (for example the addition of an API to configure an injector), and refinements to the managed bean model to remove inconsistencies between Managed Beans, EJB, Servlets, JSF, CDI and JAX-RS. Pete Muir has blogged about the CDI plans, and a JSR proposal can be downloaded here (PDF document).
Elsewhere JPA 2.1 has a long list of potential enhancements, ranging from support for the use of "fetch groups" and/or "fetch plans", to more control on persistence context synchronization. Java Persistence Query Language and criteria API improvements being considered include support for stored procedures, outer joins with ON conditions, downcasting, and support for mapping between JPQL queries and criteria queries.
Finally Emmanuel Bernard has started to think about Bean Validation 1.1, with a blog post suggesting some improvements and requesting feedback. Proposals include better integration with other specifications (JAX-RS, JAXB, JPA and CDI), and method level validation.
The umbrella JSR passed the initial review ballot stage on March 14th (results). It is currently scheduled for release at the end of 2012, though Dochez did describe this as "aggressive" during his presentation.
Oracle Following Our Lead
It looks like our innovation is inspiring much more interest and research into its applicability at the application layer.