The next version of enterprise Java will be fitted with capabilities for PaaS (platform-as-a-service) cloud computing, an Oracle official said Thursday afternoon in offering specifics on what to expect in the upgrade.
Java Platform, Enterprise Edition (Java EE) 7 is targeted for release in the third quarter of next year. "What our main goal is, is making the Java EE platform ready for use in the cloud so that you can deploy your Java EE apps into a cloud environment," said Linda DeMichiel, Oracle Java EE platform lead, at the Jax conference in San Jose, Calif. She also offered a glimpse of a subsequent Java EE 8 release, which would be fully modular and be tuned for use in SaaS (software-as-a-service) cloud computing.
[ Earlier this week, Spring Framework founder Rod Johnson stressed the need for more cloud capabilities in Java. Keep up with the latest Java news with InfoWorld's JavaWorld Enterprise Java newsletter. | Follow Paul Krill on Twitter. ]
With PaaS, Java EE would provide the runtime environment for running a Java application in the cloud. PaaS backing in Java EE 7 would entail evolutionary change, with support for multi-tenancy, small programming models, and new platform roles. "To enable multi-tenancy, obviously containers and resource managers are going to need to cooperate," in terms of passing along tenant identifiers and providing isolation among the tenants, DeMIchiel said. APIs useful to a cloud environment would be added in Java EE 7, including JCache, for temporary in-memory caching of Java objects, and JAX-RS, which is a Java API for RESTful access to services.
"We expect applications will need to declare themselves as cloud-enabled," DeMichiel said. "This may impose additional restrictions on what application code might be able to do."
In addition to its PaaS capabilities, Java EE 7 is set to have limited support for SaaS, in which an application can support multiple tenants but each tenant gets a separate instance of an application. Oracle sees SaaS as the ability to deploy a cloud application where the application can serve multiple customers or tenants. Roles planned for inclusion in Java EE 7 include a cloud provider, such as Java EE product or PaaS provider, along with cloud customer roles, such as application administrator or end user.
Also eyed for Java EE 7 is an update to the Web profile introduced in Java EE 6, which offered a set of Java deployment capabilities for Web development. An update could include JAX-RS support. Other capabilities targeted for the release include improved configuration capabilities and alignment of Managed Beans across such technologies as CDI (Contexts and Dependency Injection), Enterprise JavaBeans, and JavaServer Faces. Managed Beans is part of Java Management Extensions technology, which supplies tools for managing applications, system objects, devices, and service-oriented networks. Managed Beans represent different computing resources.
With Java EE 8, Oracle is planning modularity akin to what is enabled in the Java SE (Java Platform, Standard Edition) 8 specification, along with more SaaS capabilities. A cloud profile for Java may be introduced and perhaps more cloud-related APIs, such as one for NoSQL databases. Java EE 8 also could get capabilities intended for Java EE 7 that were not ready in time.
On Wednesday at the conference, Oracle's Daniel Smith, a Java language and compiler developer, noted that Java SE 8, due in late 2012, is set to have capabilities from Project Lambda, to boost parallel programming and accommodations for multi-core processors. "Our goal is to make some simple parallel libraries," Smith said.