J2EE Fails to Reach the Cloud
Java cloud technologies are far from commoditization and standardization. When migrating applications to the cloud, development teams should review innovative vendor solutions delivering cloud-aware architecture rather than rely on a Java EE7 imprimatur.
During the summer and fall of 2011, many Java proponents were asserting that the Java platform would evolve to meet cloud use cases. The promise was Java EE7 would enable cloud-aware application development and address emerging cloud uses cases. Big vendors participating in the Java Community Process (JCP) pointed to the JSR 342 charter, which declared:
The main theme for this release is the Cloud. 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. In this release we aim to further enhance the suitability of the Java EE platform for cloud environments.
Before JavaOne 2012, fifteen months after their initial promise, the JCP leads, and Oracle dropped cloud enhancements from Java 7. While there is general JCP lead agreement on enterprise heavyweight roles (i.e., PaaS Product Vendor, PaaS Provider, PaaS Account Manager, PaaS Customer, Application Submitter, Application Administrator, End-user) to maintain enterprise IT’s grip on the cloud, the JCP team did not standardize advancements in multi-tenancy, on-demand service provisioning, dynamic elastic auto-scaling, application versioning, modular application deployment and synchronization, consumption-based metering and billing, or cloud scale resource pooling.
Without JCP standardization, vendors will work independently to advance Java technology to meet cloud use cases and requirements. In the vote to delay, Jevgeni Kabanov writes:
Cloud standardisation was premature and we needed more time to understand which way the market and community will swing. At the moment, although there is a lot of activity in the cloud direction, it isn't yet clear which technologies, methodologies and philosophies will be the winners. Hopefully, in another 2-3 years it will be clearer.
Due to the long cycle time between JCP releases and the significant lag time before release of J2EE standards compliant products, innovative vendors will deliver competitive advantage for the next three to five years.
Interestingly enough, a few weeks after the JCP backtracked, a group of vendors plugged a hole created by the JCP delay. The vendors announced the language agnostic Cloud Application Management Platform specification. A language agnostic, RESTful service specification diminishes Java lock-in and dominance in the cloud.
A Java cloud free from commoditization and standardization will benefit the Java community more than a JCP imprimatur and clone implementations. As development teams carefully review project use cases, build cloud reference architectures, evaluate Platform as a Service offerings, selectively apply cloud design patterns, and build cloud-aware applications, teams will be free to break away from stodgy J2EE prescription, identify new application design models, and deliver competitive application agility.