InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Oracle's Java EE 7 Plans Include Adding Cloud and HTML5 Support to the Platform

Posted by Charles Humble on Mar 15, 2011

Sections
Enterprise Architecture,
Operations & Infrastructure,
Architecture & Design,
Development
Topics
JCP Standards ,
Java EE ,
Java ,
Websphere ,
Languages ,
Web Frameworks ,
Programming ,
IBM ,
Application Servers ,
Agile in the Enterprise ,
Companies ,
Web 2.0 ,
WOA ,
Agile ,
Enterprise Architecture ,
Cloud Computing ,
Architecture ,
JAX-RS ,
JSF ,
Bean Validation ,
CDI ,
JPA ,
Servlets ,
JMS ,
JCP

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.

The JAX-RS 2.0 draft JSR (339) mentions a client API, MVC support, asynchronous support (inspired by Atmosphere), hypermedia support, and better integration with @Inject/CDI.

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.

  • This article is part of a featured topic series on Agile
Oracle Following Our Lead by William Louth Posted
Re: Oracle Following Our Lead by Ant hony Posted
  1. Back to top

    Oracle Following Our Lead

    by William Louth

    Very interesting seeing a reference to QoS being mentioned alongside Java EE.

    It looks like our innovation is inspiring much more interest and research into its applicability at the application layer.

    williamlouth.wordpress.com/2011/03/14/the-appli...

    opencore.jinspired.com/?p=2257

  2. Back to top

    Re: Oracle Following Our Lead

    by Ant hony

    Brag, brag, spam...

Educational Content

Evolution in Data Integration From EII to Big Data

Approaches to integrating data are changing with emergence of cloud computing.

Winning Hearts and Minds: How to Embed UX from Scratch in a Large Organization

Michele Ide-Smith presents the lessons learned in the process of introducing UX principles and techniques into a large organization through a series of small steps.

LMAX Disruptor: 100K TPS at Less than 1ms Latency

Dave Farley and Martin Thompson discuss solutions for doing low-latency high throughput transactions based on the Disruptor concurrency pattern.

Thoughts on Test Automation in Agile

Rajneesh Namta shares his thoughts, experiences, and some of the critical lessons learned while implementing software test automation on a recent Agile project.

Actor Interaction Patterns

Dale Schumacher presents several patterns of actor interaction that can be used in collaborative programs written in any language.

Scalaz: Functional Programming in Scala

Rúnar Bjarnason discusses Scalaz, a Scala library of pure data structures, type classes, highly generalized functions, and concurrency abstractions to perform functional programming in Scala.

Faster, Better, Higher – But How?

One of the main challenges when designing software architecture is considering quality attributes. Not only their design turns out to be difficult, but also the specification of these attributes.

Software Naturalism - Embracing the Real Behind the Ideal

Michael Feathers analyzes real code bases concluding that code is not nearly as beautiful as designers aspire to, discussing the everyday decisions that alter the code bit by bit.