Day three of JavaOne saw Oracle executives answering questions about Oracle's roadmap, with representation from across Oracle's focus areas. The panel included Robert Clark (Head of Internet of Things development), Peter Utzschneider (Java outbound product management) and Cameron Purdy (Head of EE), along with Patrick Curran (Java Community Process chair) and Georges Saab (Head of SE Development).
Like most of the other execs, Clark opened by covering what Oracle has achieved in the last year. For Java ME, this story has been all about alignment with Java SE, as evidenced by the release of Java ME 8 and SE 8 Embedded. Java ME 8 is a major revision of the ME specification, now being a strict subset of the language of SE8. The landscape has been further simplified by the replacement of the CDC profile with SE Embedded and compact profiles.
Clark also cited further improvements in memory and garbage collection in ME. He also referred to Sunday's announcement of early access to ME 8.1. This release contains early support for some Freescale chips and the ARM mbed platform. The aim is to provide a truly portable platform on top of very small microcontrollers.
The platform was demonstrated with an automotive example that featured in the main keynote and later displayed in the exhibition hall. Clark hailed these examples as "the beginning of the IoT story for Java".
Purdy spoke in terms of the totality of the platform, rather than the JVM and IoT efforts as separate pieces. He quoted a statistic of 80% of mobile apps are running Java in the backend, and equated this strong market position to the dominance that Java had in the enterprise desktop during the first wave of Internet applications. He made the statement that enterprise is increasingly changing to encompass mobile and new sectors, rather than simply big clusters and technologies like Hadoop.
This idea, of a second wave of Java development centered around mobile and IoT, has resonated throughout the conference. Oracle have consistently stressed the linkage of their new IoT efforts to existing and new Java EE technology in Oracle's portfolio, so it was no surprise that many of Clark's themes were complemented by Cameron Purdy in his comments on EE.
Purdy stressed that the individual EE JSRs represent valuable technology by themselves, and can be used by themselves as part of a fundamentally SE application. Developers across the Java space have been doing this in combinations such as JMS on top of SE, or using the new websockets standard outside of the EE environment.
When taken together, he continued, these standards make a compelling platform for modern enterprise development. He referred to an application showcased during the keynote, built by Mohamed Taman, as an example of pure EE 7 development with no external libraries. He hailed Spring not as a competitor, but instead as "a wonderful complement to EE". He acknowledged that alternaitve stacks had evolved due to the complexity present in earlier versions of EE (such as J2EE), but claimed that Oracle were now were seeing customers being highly productive without needing additional tech beyond EE.
Moving on, he made the point that communication over the internet often now has no web traffic in it. JSON may be flowing over HTTP, but many flows are not browser to server, but machine to machine. This evolution of internet applications is mirrored in the evolution of the standards, with the reference implementations (such as Glassfish) frequently running ahead of the standards delivery. Purdy pointed to a track record of innovation and delivery based on standards, before challenging the audience to compare the JCP to other standards-based orgs in the same space, quipping that there aren't any.
In the licensing and IP space, Curran discussed Testing Compatibility Kits (TCKs), as recently discussed in the context of JSR 358. He outlined Oracle's position that open-source TCKs represents a risk of competing or forking TCKs. He acknowledged that more can be done to grant better access, e.g. the OpenJDK model of the OCTLA, but seemed to imply that truly open-source TCKs remain off the table. The field of use (FOU) restrictions that have also caused concern were also mentioned, with Curran indicating that Oracle do not intend to extend their use to any additional JSRs.
Purdy cited years of work behind the scenes to achieve goals of openness, and praised Oracle for driving openness into the product and process, giving the example of requiring reference implementations be open-source. He also spoke to compatibility, and needing to be stringent about the TCKs because they are the only teeth that Oracle have to ensure implementations are compliant. He commented:
When something says 'This is Java EE', we want this to be as much of a guarantee as we can. That compatibility has value and is something that we have great consensus on across the industry.