Java ME 8 Released
Oracle has announced the general availability (GA) of the Java Platform Micro Edition 8 (Java ME 8), the latest version of embedded Java aimed at devices, such as smart phones, and the evolving Internet of Things (IoT). This release follows the highly anticipated (and celebrated) release last month of Java SE 8, and further aligns APIs between the two. The Java ME 8 specification was approved in April, paving the way for a GA release.
The Java ME 8 release was announced in a blog post by Terrence Barr, senior technologist and principal product manager in Oracle's Small Embedded Java Products group. Barr described it as part of a two-year effort to update embedded Java. Java ME 8 was a "culmination" of that effort, which resulted in "a modern embedded software platform purpose-built as a foundation for new services in the Internet Of Things."
Barr added that Oracle is collaborating closely with industry partners, from whom the company has seen strong interest and adoption in Java ME 8 across a number of markets such as wireless modules, automotive, smart sensors, healthcare, industrial automation, smart energy, logistics, and others.
The Java ME 8 release includes a Technology Compatibility Kit (TCK), a reference implementation, and a software development kit (SDK) for embedded software development. The release is also supported in Oracle's Java Platform Integrator (OJPI) program, through which the company provides its partners with a means of customizing Oracle Java Embedded products. Java ME 8 supports Raspberry Pi Model B (based on ARM11/Linux), Qualcomm IoE Development Platform (based on ARM9/Brew MP), and Windows x86 device emulation environment (for rapid prototyping/development).
Java ME platform, as Oracle describes it, is "a collection of technologies and specifications that can be combined to construct a complete Java runtime environment specifically to fit the requirements of a particular device or market." The effort to update embedded Java to which Barr refers began in earnest in 2012 with the filing of two Java Specification Requests: "JSR 360: Connected Limited Device Configuration 8," which aimed to update version 1.1 of the Connected Limited Device Configuration (CLDC) virtual machine; and "JSR 361: Java ME Embedded Profile," which sought to update "JSR 228: Information Module Profile - Next Generation (IMP-NG)," an old J2ME profile targeting embedded network devices, to align with state-of-the-art features and current embedded device market requirements.
Chris Rommel, an analyst at the VDC Research Group, which specializes in the embedded systems market, has estimated that about a million developers are now writing code for embedded devices -- not including third-party developers getting into the embedded systems space. Rommel's company's surveys show that Java ME is now the third-most frequently used language for embedded development (around 20 percent), rivaling C/C++, which are favorites historically in this area.
"The number of devices out there that are connected is growing," Rommel told ADTmag in an earlier interview. "I think that's something everyone understands...What we've seen in the past few years is the injection of intelligence and the additional processing and memory resources into a lot of formerly dumb devices. What they're looking to do on those end devices, but also simply what they can do on them, has really changed how organizations are thinking about software development."