Oracle unveils Java ME for Internets of Things
Oracle Corp. has finally shifted its single minded focus on providing software and hardware for enterprise servers, mainframes and personal computers and over to mobile devices and the Internet of Things.At Java One in Shanghai, the company - which acquired Java language creator Sun Microsystems and for a time dominated mobile devices – announced plans to drive Java deeper into the Internet of Things with updates to its Java Micro Edition. Targeting devices that are using ARM cores and less 1Mb of system memory,Oracle has unveiled Version 3.3 of Java ME Embedded, which now includes ports to Raspberry Pi and the Keil boards. A software developer's kit includes a runtime environment, and an expanded partner program helps third parties create their own Java ME Embedded ports. ME 3.3 will support a range of ARM-based SoCs in addition to the Broadcom 2835 on Raspberry Pi and the STM32 F207IG on the Keil board. These include ARM-based chips from Freescale and Snapdragon parts from Qualcomm. Target systems will run the gamut from building and home automaton controllers to telehealth devices and vending machines. When Oracle acquired Sun Microsystems, while it continued to support markets for Java on feature phones and consumer electronics devices such as Blu-Ray players, shifted development of the language for use on servers. It is building its hopes on the still thriving Java ecosystem that now includes 9 million developers and more than 3 billion devices running the software. Google, whose Android platform shares domination of the mobile market with Apple’s iPhone, has also shown deep interest in the Internet of Things market opportunities. But Android, which is basically a Linux operating system distribution, with a user friendly Java language interface, may not be small enough to fit . By comparison, Java ME’s virtual machine is targeted at embedded IoT applications using no more than 500 kilobytes of RAM, and even less when the JVM is run in the bare-metal mode without an operating system.