JavaOne: Oracle Promotes Recent Releases & Growing Community, Looks to the Future
The annual JavaOne conference, underway this week in San Francisco, has been largely about spreading the word about recent updates and upgrades to the Java language, platform and associated technologies. Java has been having a good year, Oracle's chief Java architect, Mark Reinhold, told his keynote audience -- in fact, it's been a "banner year" for Java. Java SE 8, "the largest upgrade to the programming model we've ever done," shipped this year, he said. So did Java ME 8 and JavaFX 8, and work on Java EE 8 is well underway. The Java SE developers now have Lambdas, Streams, Nashorn, Compact Profiles, and a new and "vastly improved" Date and Time API.
That huge programming model change can be seen largely in Java 8's support for Lambda Expressions. Georges Saab, vice president of Oracle's Java SE Development group, told attendees that Lambdas are changing the landscape for Java developers, because of their ability to reduce the need for "verbose boilerplate code, making code easier to read and write."
"This is not just a new feature," Saab told reporters later. "It actually introduces a new way of programming to Java developers, but it does it in a way that's quite natural."
Cameron Purdy, vice president of Oracle's Cloud Application Foundation and Java EE group, talked about the new GlassFish Server Open Source Edition 4.1, which was announced at the show. The new release comes with a number of enhancements, including support for Java 8, WebSocket 1.1, and the CDI 1.2 maintenance releases. The company also touted the server's "improved quality and developer experience," resulting from updated versions of more than 20 subprojects and more than 1,000 bug fixes and feature enhancements. The Java EE 7 Software Development Kit (SDK) has been updated for the new GlassFish release, which also comes with an updated Java EE tutorial and a new zip installer. GlassFish Server Open Source 4.1 is also now bundled in NetBeans 8.0.1.
Purdy, whose organization announced the successful delivery of Java EE 7 last year, talked about progress on Java EE 8. Perhaps the most significant milestone to date is the approval of the spec request (JSR 366) by the Java Community Process (JCP) Executive Committee. Oracle is making "a very conscious investment both in the components that make up the enterprise architecture for Java, and the wholeness of the specification itself," he said. "What I mean by that is that most of the specs that go into Java EE are, by themselves, extremely valuable."
If you need WebSocket support, for example, you don't all of Java EE to get there, he said. "I can take the WebSocket reference implementation and use that in isolation," he said. "And yet at the same time, these standards brought together form a compelling platform for addressing the needs of modern application development." Java Servlet 4.0, which will be part of Java EE 8, is another example, he said.
Purdy also told reporters that version 8 of enterprise Java will address "new needs in the enterprise space," particularly around HTML5.
The Internet of Things (IoT) was front and center at this year's show. Peter Utzschneider, vice president of Oracle's Java Product Management group, announced an early access edition of Java ME Embedded 8.1, which supports ARM Cortex M3/M4 microcontrollers. He also announced a developer preview of 8.1 for the ARM "mbed" development platform for smart device development. Oracle is also supporting Java in the Freescale Kinetis K series of microcontrollers, he said, which enables embedded developers to take advantage of popular Java programming features.
"You should be able to write code and have it run on a device, whether it's a small device or a big device, a toaster or a microwave, it shouldn't matter," Utzschneider said. "[If it's a device], you guys should be able to program to it."
"Community" seemed to on everyone's teleprompter this year. Utzschneider reported that more than 80 new Java user groups (JUGs) were created during Java's banner year, which adds up to a 10 percent increase. He also pointed out that JCP is now in its 15th year of operation. The Java standards body has, in fact, been reaching out to expand the society of Java developers, JCP Chair Patrick Curran told reporters during a press conference. Forty of those JUGs are members of the JCP, he said. The organization is also in the process of completing work on JSR 364 ("Broadening JCP Membership"), which seeks to get around the 12-page roadblock that is the Java Specification Participation Agreement (JSPA) by "defining new membership classes, changing existing membership categories, enabling participation by the community, and ensuring the appropriate Intellectual Property commitments from JCP Members."
Individual members will fall under a new "Affiliate" class, Curran said. At the same time, the JCP is planning a new campaign to recruit more corporate members. About 10 new corporate members have joined in the past few months, he said.
The JCP has been engaged in a multi-year effort to reform its governance and processes with several initiatives. The organization has managed to make its processes more transparent via an initiative called "JCP.next." It also merged two JCP Executive Committees. The JCP is currently wrestling with the challenge of revising the JSPA -- a process Curran has called "big and scary."
"That's what you call it when the lawyers get involved," he said.
The JSPA sets forth the basic legal structure that allows companies and individuals to participate in the development and distribution of specifications, reference implementations, and technology compatibility kits (TCKs) within the JCP. The original JSPA was created in 2002 through JSR 99. The JCP does not currently plan to change its TCK policy, Curran said, the restrictions of which have been criticized for limiting the use of tested Java implementations to desktops and servers.