Oracle Open World 2012 – Java Invests Into Embedded Future

Robotics is going to have a promising future and it is coming into affecting our lives in a slow pace but that is fine - we can wait. I’ve came to Oracle Open World 2012 hoping to find some breakthroughs on robotics industry.

Even though there isn’t much talk about robotics stuff in Oracle’s context, the JavaOne conference did.

By the way, for those of you who didn’t know it, Java is currently managed by Oracle after Oracle acquired Sun Microsystems on Jan 2010.

It is Oracle’s vision now to make use of the Java programming language to transform the embedded development platform.

(L-R) Nandini Ramani, Vice President of Engineering, Java Client and Mobile Platforms, Oracle. , Noel Poore - Java Embedded Architect, Oracle during a demonstration session.

Back in the 90s, Java was the de-facto in cross platform technology and also during those periods, most applications were desktop and client-server based as compared to now which web based applications are common for both enterprise and consumer market.

During the keynote, it was mentioned that currently Java is already running on devices, Internet of Things and also Java card. And it is Oracle’s vision to introduce the concept of cross-platform for the embedded world as what Java did for the enterprise software market in the 90s.

The market and opportunity is going to be huge and exciting. It is estimated that 50 billions of devices are going to be out there in the market place in the future.

“Since Java already has the Java Embedded Runtime, it doesn’t require a big overhaul to create an embedded platform,” said Nandini Ramani, Vice President of Engineering, Java Client and Mobile Platforms, Oracle.

To meet such challenges, besides releasing the latest version of Java ME Embedded 3.2 Runtime, Oracle has also released the world first middleware for embedded; Java Embedded Suite 7.0.

Java ME Embedded

Oracle Java Micro Edition (ME) Embedded 3.2 is a complete Java runtime client, optimized for ARM architecture connected microcontrollers and other resource-constrained systems. The product provides dedicated embedded functionality and is targeted for low-power, limited memory devices requiring support for a range of network services and I/O interfaces.

Oracle Java ME Embedded 3.2 is designed to meet the needs of intelligent and connected services on resource constrained devices, such as those found in Wireless Modules, Building and Industrial Controllers, Smart Meters, Tracking Systems, Environmental Monitors, Telehealth, Home Automation devices and Vending Machines.

Currently, there is one microchip which readily supports this runtime to provide for M2M communication module and that is the New Cinterion EHS5. Cinterion is part of the Gemalto company, global leader in M2M communication technology.

CINTERION EHS5 microchip - M2M communication module for hardware

This new Cinterion EHS5 features a complete client Java runtime optimized for microcontrollers and other resource-constrained devices. It allows Java developers to speed up M2M solution design and integration. It also enables lean system architecture by running software directly on the Cinterion module eliminating the expense of additional co-processors and memory chips and making applications smaller and less complex. The module’s Java Virtual Machine (JVM) serves as a hub connecting application software with security elements and end user computer systems to greatly ease integration and deployment. In addition, it enables value added features such as over-the-air (OTA) provisioning and remote updates of data and applications, which are crucial for keeping M2M solutions current over the long life of applications, which can often exceed 10 years - Cinterion has introduced Java to M2M since 2003.

Adopting Java ME Embedded into the hardware is like adopting a Java interface for the hardware.

For more details on Java ME Embedded.

Java Embedded Suite

To make the Java Embedded cross-platform, the Java ME runtime alone is not the answer. Cross-platform means having customization on multiple platforms using the one common higher level platform that is the Java Embedded Suite 7.0. This means that now we can develop firmware using the Java platform.

The Java Embedded Suite 7.0 is actually a software development suite which provides a framework (as middleware). The framework consists of the following core components.

  • Java SE Embedded 7 - Java's state-of-the-art platform optimized for a spectrum of embedded devices
  • Java Data Base (Java DB) - Oracle's complete multi-user relational database engine ideal for memory constrained devices
  • GlassFish for Embedded Suite - a subset of the GlassFish Web profile (based on Java Enterprise technology)
  • Jersey Web Services Framework - a robust framework for implementing RESTful Web Services

The big question is where to deploy the output as a result of using Java Embedded Suite 7.0 ???

The answer is your own customized hardware in which the firmware is the result of the output from using Java Embedded Suite 7.0. In actual fact, the output is the coding customization done using Java programming language that sits on top of the framework which sits on top of the ARMv6/7 Linux embedded operation system.

So, if you are today a software developer who has no capacity of manufacturing your own IC, all you have to do is go to the market place to look for Linux embedded operating system micro computer and deploy the output as firmware from the compilation using Java Embedded Suite. One good example of such micro computer is the ZC-M270 micro pc mini computer/handheld computer pc/mini laptop computer.

Besides that, you can also deploy the output as runtime to a computer running x86 Linux. The Java Embedded Suite 7.0 comes in two flavours 1.) for ARM v6/7 Linux 2.) for x86 Linux.

To summarize things, if you are a Original Equipment Manufacturers (OEMs), you may want to adopt Java Embedded modules such as the Cinterion EHS5 module which provides for M2M communication and if you care to customize your own firmware, you can make use of Java Embedded Suite 7.0 for the programming.

Prior to this, firmware must be developed using proprietary SDKs from microprocessor companies. As a result of that, firmware cannot be deployed to other platforms effectively without low level modification. By using Java Embedded Suite to develop the firmware, the firmware can be deployed to other compatible platforms. Currently, even though its vision is to enable cross-platform in the embedded world, nevertheless it is only in the beginning stage and only supports one platform which is ARM Linux.

Oracle invests on its vision that in the future, there will be support for Intel, AMD and etc.

Therefore, the meaning of cross-platform for the embedded world is currently limited to a higher level sense of programming and deployment where software engineers like myself get to enjoy development of firmware using Java Embedded Suite and deploy it to multiple selection of micro PC or hardware which supports the ARM Linux specification – it enables for more choices of deployment for a firmware developed.

Coming back to robotics programming, it makes sense to leverage on Java Embedded Suite 7.0 as a starting point and to deploy the firmware to robotic platforms which support the ARM Linux specification.

Oracle's vision for Java Embedded - from devices to data centers

In the keynote address, Oracle executives also expressed optimism that the Java Embedded platform will also contribute directly to the big data industry where data collected from edge devices such as sensors will communicate with enterprise solution in the data centers for data analysis via M2M interface.

“Java has a strong future, it is backed by Oracle. We ask you to partner with us,” said Nandini Ramani, Vice President of Engineering, Java Client and Mobile Platforms, Oracle.

Check out the keynotes here.