JavaOne 2012 "Make the future Java" is the official slogan of this year's JavaOne conference in San Francisco, but if there was a central theme to Sunday's keynote presentations, it was that moving Java forward is not just an Oracle project but a community effort.
Throughout the more than three hours of talks and demos, members of Oracle's Java team repeatedly called on conference-goers to get involved by downloading, testing, and contributing code to the next versions of Java SE, Java EE, and Java for embedded devices.
The latter received special attention during the opening Java Strategy keynote, with Oracle executive VP Hasan Rizvi explaining that the database giant was seeing "lots of demand" for Java running on Linux for ARM-based devices, the most recent platform to gain support for the language.
"We're surrounded by devices, many of them so unobtrusive that you don't even know you're around them all the time," said Nandini Ramani, Oracle's VP of engineering, adding that the current explosion of tiny, connected devices represents "the next revolution in computing."
Last week, Oracle announced two new products in its Java ME line-up aimed at addressing this market – which everyone's calling "the internet of things" – including Java ME Embedded 3.2 and the Java SE-based Oracle Embedded Suite.
At JavaOne, Java language architect Brian Goetz demoed a Java SE Embedded application running on a dual-core 1.2GHz ARM device, complete with a full JavaFX-based touchscreen UI.
At a later talk, chief Java platform architect Mark Reinhold launched the same application in an experimental Java virtual machine (JVM) running on a humble Raspberry Pi. That demo actually crashed, but not before Reinhold's point was made: Oracle means business with embedded Java.
The chip is the size of a postage stamp, but it runs full Java SE and JavaFX
Nandini explained that Oracle is moving ahead with its plan to unify its standard and mobile versions of Java. Java ME will eventually be a proper subset of Java SE, she said, and releases of the two platforms will be synchronized.
JavaFX is also getting lots of love at this year's JavaOne, with Oracle doing its darnedest to get developers on board with a client-side UI technology that's often been perceived as arriving late to the party, at a time when even more mature technologies like Adobe Flash/Flex are being pushed out in favor of HTML5.
"The primary use case for JavaFX is as a replacement for Swing," Ramani said, "which means it's intended for rich, interactive desktop applications."
In his technical talk, Reinhold explained that JavaFX was engineered from the beginning to take advantage of multicore processors, making it easy to build rich UIs that use the full power of modern hardware.
Ramani explained that JavaFX and its accompanying Scene Builder GUI tool are now available in developer preview versions for Linux on ARM, in addition to the versions already available for Windows, OS X, and Linux on x86. In keeping with its team-effort messaging, however, Oracle would love to see more community support.
"We'd love to see you port [JavaFX] to other platforms, and as far as participating in enhancements, I have some ideas in specific areas where you can participate," Ramani said.
Java 8 and beyond
Client apps and devices were hardly the sole focus of Sunday's keynotes. Oracle execs paid equal attention to the new features and changes coming in the next version of Java and the ones to follow.
According to Georges Saab, Oracle VP of development for Java SE, the database giant has seen wide adoption of Java SE 7 since it was released in 2011. Oracle has been shipping a regular cadence of upgrade releases ever since, he said – about once every two months – and it plans to continue doing so.
It's also on track to release Java SE 8 in 2013, Reinhold said, adding that the next version of the Java Development Kit (JDK) should be feature-complete by January.
Of course, we now know that Java 8 won't include everything originally planned for it, after Oracle retooled its roadmap and postponed some features in the interest of maintaining its planned release schedule. But Reinhold said the Java community largely backs Oracle's decision, and he showed a slide of supportive quotes from major partners, including IBM and Red Hat.
According to Goetz, one of the best ways to make programmers more productive is to give them better libraries, and adding new syntax to the Java language, like Project Lambda, is one way to allow library authors to create better APIs.
Not quite cloudy – yet
In addition to Java SE, work on the enterprise version of Java is also moving along. According to Oracle Fusion Middleware VP Cameron Purdy, there are now 14 vendors at work on the next version of Java EE, including major contributions from IBM and Red Hat, among others.
Java EE 7 is due in April 2013, Purdy said, and it will be the largest release of the platform ever, comprising 33 distinct specifications. Arun Gupta of Oracle's Java EE team said the two main focuses of this release will be improving developer productivity and increased support for HTML5.
On the productivity front, Oracle has made lots of changes to the Java EE APIs designed to allow developers to achieve better results while writing less code. "Anytime you're writing the same boilerplate code, repeating the same code again and again, that's not very productive," Gupta said.
As for HTML5, Java EE 7 packs in support for some of the more requested features of the new standard, including a Java API for JSON data processing and another for managing two-way web communication via WebSockets. In addition, the Java API for RESTful web services is getting an update.
What Java EE 7 won't include, on the other hand, is much support for cloud-based infrastructure. In September, Oracle announced that it was putting features designed to support multi-tenancy and platform-as-a-service (PaaS) environments on hold, much like it scaled back its plans for Java SE 8.
That doesn't mean enterprise Java apps aren't heading for the cloud, however. According to Gupta, Oracle plans to address cloudy concerns "much more heavily" with Java EE 8.
There was plenty more to discuss, and Oracle and its partners will further elaborate on their Java plans as the JavaOne conference continues throughout the week, in tandem with Oracle's massive OpenWorld event.
Reinhold concluded Sunday's keynote proceedings with one final appeal to the Java community to get involved, whether by contributing code or simply testing early Java builds. "It's not just up to Oracle to make the future Java," he said. "It's also up to all of you." ®