Blog archive

Java EE7 Vote: Java Spec for Cloud the Right Way To Go?

The ballots are in, and Oracle's development proposal for Java EE7 has been approved by the Executive Committee of the JCP. The vote was unanimous, with only one company (IBM) even commenting.

The sponsors of Java Specification Request (JSR) #342, the umbrella JSR under which Java EE 7 will be developed, literally cited the cloud as the "theme" for this release.

"The Java EE platform is already well suited for cloud environments thanks to its container-based model and the abstraction of resource access it entails," the spec request reads in part. "In this release we aim to further enhance the suitability of the Java EE platform for cloud environments. As a result, Java EE 7 products will be able to more easily operate on private or public clouds and deliver their functionality as a service with support for features such as multi-tenancy and elasticity (horizontal scaling). Applications written for Java EE 7 will be better able to take advantage of the benefits of a cloud environment."

But Gartner analyst Mark Driver, who specializes in application development technologies and open-source software, says making Java EE 7 Java's point of entry into the cloud is a bad idea.

"Just as you can't tweak a mainframe app to go client server, or a client server app to go Web, you can't just tweak a web app to go cloud," he told me recently. "It requires some fundamental changes."

The sponsors of JSR #342 disagree: "Since its inception, Java EE has offered a managed environment in which access to the system and any external resources, such as relational databases, is controlled and mediated by containers. This container-based model has allowed portable applications to target single-machine deployments as well as large cluster installations without fundamental changes to the programming model. We see the cloud as a further evolution of this paradigm and propose to address it via some incremental changes to the existing (and popular) Java EE programming model."

"That evolutionary step may introduce such dramatic changes to the DNA of Java that it implodes," Driver argues. "And the focus is so heavily on maintaining backward compatibility and stability for Oracle's current user base that they're heading down a dead-end road. We need an entirely new specification around a Java Cloud Edition."

The cloud-focus of Java EE 7 emphasizes multi-tenancy, application versioning, and support for non-relational data stores. Big Blue's comment pointed out that the next release of Java EE should provide the basis for modular Java capabilities in the next version of the Java Standard Edition (Java SE 8). Modularity, of course, is needed to support a move to the cloud.

Posted by John K. Waters on March 16, 2011