Java, while a successful platform for 19 years and running, certainly faces challenges, a high-ranking Oracle official said on Sunday. These challenges will be met by the planned Project Jigsaw modularization of the platform.
Oracle officials at Sunday afternoon’s technical keynote presentation at the JavaOne conference in San Francisco hailed development of both the standard (SE) and enterprise editions (EE) of Java. In frank commentary, Oracle’s Mark Reinhold, chief architect for the Java platform group, said Java faces several “big picture” problems: “One is that it doesn’t scale down to small devices very well. Another is that it’s difficult to maintain platform security. The internal security mechanisms of the platform are really quite brittle and error-prone.”
It is also difficult to evolve the platform because of the use of internal Java APIs by developers at Java founder Sun Microsystems and possibly elsewhere, he said. Peak performance for Java is good these days, but startup performance is “often quite poor,” Reinhold added. “Finally, it in general does not scale to large software systems very well.”
But help is on the way. “We’ve been working on a unified solution to these problems for a while now and that’s Project Jigsaw, which is currently slated for Java 9,” said Reinhold. “The goal of Jigsaw is to define a standard module system for the Java platform and use that to modularize the platform itself and applications.” SE applications would be modularized first, followed by Enterprise Edition applications.
“Once we modularize the platform, an application can use just the modules that it needs,” rather than being limited to using one of three compact profiles, he said. Modules can define secure boundaries between components and encapsulate internal APIs for change as needed. Modules also enable improved performance, such as with ahead-of-time compilation, and make the JDK (Java Development Kit) easier to build and maintain, said Reinhold
Jigsaw, however, will not have the same impact on the average developer as lambdas have had in Java SE 8, Reinhold said. “It will have a huge impact, eventually, on how large Java systems are built and maintained. It will increase Java’s relevance up to a wider variety of applications.”
Nonetheless, Reinhold also detailed Java’s past successes, such as inclusion of garbage collection for memory management, and Oracle continues to position Java as a platform for embedded applications and the Internet of things, spending a good portion of Sunday’s presentation on the topic. Reinhold described 2014 as a “banner year” for Java. “Jave ME (Micro Edition) 8 has shipped, Java SE 8 has shipped, and work on Java EE 8 is well under way.” Both Java SE 9 and Java EE 8 are due in 2016, and Oracle expects EE 8 about two years from now.
The subject of Java Specification Request (JSR) 366, Java Platform, Enterprise Edition 8 focuses on a number of improvement areas, including Web standards, ease of development, and infrastructure for cloud support. “In Java EE 8, we expect to augment our support for HTML5 applications by adding support for server-sent events, standardized binding between JSON text and Java objects and improvements to the Java API for WebSocket and the Java API for JSON processing,” according to the JSR document. “We expect to add support for the emerging HTTP 2.0 standard (scheduled for submission as a proposed standard in 2014) to the Servlet API. We also expect to add support for action-based MVC.”
For clouds, Java EE 8 would augment infrastructure added in Java EE 7. “Areas that we plan to consider include more flexible support for configuration, including support for configuration of multiple tenants; simplified and improved security configuration; and REST-based APIs for monitoring and management.”