You are currently browsing the tag archive for the ‘“Oracle Java ME Embedded”’ tag.


There is currently an interesting discussion happening on the LinkedIn “Internet of Things (IoT)” group. It was triggered by the analyst reports I posted a little while back.

The discussion can be found here. Because the “IoT” group is moderated you need to sign up to view the discussion, so I am copying my reply below as well.


— Terrence

Post to the LinkedIn “Internet of Things (IoT)“:

Hi all,

(Disclosure: I am the product manager for Oracle’s small embedded Java products, so my view is probably somewhat biased ;-):

Thanks for an interesting discussion. It highlights the underlying issue in the embedded space: The fact that the industry is fragmented by a diverse mix of technologies that makes delivering embedded solutions much harder than is should be.

It’s not just about choosing a language or a chip architecture. To build an embedded device, you need to integrate hardware components, operating systems, drivers, tools, libraries, security aspects, and more. And increasingly, embedded solutions must be connected and integrated with other systems. So now you need to think about connectivity, protocols, encryption, authentication, data formats, and such. And you’re still not done: What about monitoring and managing these devices out in the field? You need to be able to maintain these devices and update the software to fix issues and add functionality without impacting the integrity of the system. And finally, if you then want to re-use your solution for a different use case and a different set of hardware – do you have to port, integrate, and test everything again?

I think it’s clear that this mode of operation is unsustainable. Yes, you can build all this today using traditional embedded technologies, but it is way too difficult. The important thing to realize is that many embedded use cases must solve a common set of problems as outlined above. The embedded industry will migrate away from individual point solutions towards standards and platforms that address these shared infrastructure requirements. Which then allows developers to add their value on top and deliver solutions quickly and cost effective. This is not unique to the embedded industry but it is a typical pattern of IT evolution.

So when you’re evaluating Java for the embedded space, it’s important to look at it not as just a language, but as a technology platform and ecosystem. Java not only addresses many pain points in embedded development (platform-independence, rich language and feature-set, great tools, scalability) but also gives you a robust and manageable application platform, security framework, connectivity, a wide range of protocols, 3rd party components, and easy integration with back-end systems (most of which are also Java-based). In fact, it is the only technology platform today which is in a position to provide all this.

A few words about Java on the device side:

Not sure if you have been following embedded Java lately – it’s not your father’s Java anymore. You can run feature-rich Java stacks from low-cost micro-controllers with as little as 128 KB RAM all the way up to high-end embedded systems. There is increasing integration with many advanced platform features, as well as out-of-the box support for security, manageability, and back-end connectivity.

Since Oracle announced it’s new focus and strategic vision on embedded Java at JavaOne in September we’re seeing a huge amount of interest in the industry. Oracle has delivered new products and an updated embedded Java roadmap, partners like Cinterion and Qualcomm have announced products, and there is much more to come.

Best regards,

— Terrence Barr

Smart solar panel

The NightHacking session with Steven Chin was good fun.

Check out the video on “Java in the Internet of Things” and a live demo of the Smart Solar Tracking System with Java ME Embedded 3.2. Real hardware and demo flakiness included 😉 See here.

While you are at, have a look at some of the other NightHacking sessions and a number of other videos on the YouTube Java Channel.


— Terrence

Just a quick note from JavaOne … excellent response to Oracle’s embedded Java announcements and strategy. Our DEMOGround booth is always busy – people want to learn more about Oracle Java ME Embedded 3.2, see it in action. Today’s keynote for the Java Embedded @ JavaOne sub conference was excellent – full house, great line up of partners and content.

Haven’t had time to blog, but been tweeting about the latest news around embedded Java – be sure to monitor @terrencebarr. And check my last blog for embedded Java highlights.

Oh, and check this latest summary on “Huge Opportunity in Small Things”


— Terrence


Java IoT

Updates (Oct 3, 2012):

  • Cinterion announce the launch of their latest M2M solution, based on Oracle Java ME Embedded 3.2
  • Qualcomm Technologies and Oracle announce their collaboration on M2M platforms, based on Oracle Java ME Embedded 3.2

The Internet of Things (IoT) is coming. And, with todays launch of the Oracle Java ME Embedded 3.2 product, Java is going to play an even greater role in it.

Java in the Internet of Things

By all accounts, intelligent embedded devices are penetrating the world around us – driving industrial processes, monitoring environmental conditions, providing better health care, analyzing and processing data, and much more. And these devices are becoming increasingly connected, adding another dimension of utility. Welcome to the Internet of Things.

As I blogged yesterday, this is a huge opportunity for the Java technology and ecosystem. To enable and utilize these billions of devices effectively you need a programming model, tools, and protocols which provide a feature-rich, consistent, scalable, manageable, and interoperable platform. 

Java technology is ideally suited to address these technical and business problems, enabling you eliminate many of the typical challenges in designing embedded solutions. By using Java you can focus on building smarter, more valuable embedded solutions faster. To wit, Java technology is already powering around 10 billion devices worldwide.

Delivering on this vision and accelerating the growth of embedded Java solutions, Oracle is today announcing a brand-new product: Oracle Java Micro Edition (ME) Embedded 3.2, accompanied by an update release of the Java ME Software Development Kit (SDK) to version 3.2.

What is Oracle Java ME Embedded 3.2?

Oracle Java 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. 

What features and APIs are provided by Oracle Java ME Embedded 3.2?

Oracle Java ME Embedded 3.2 is a Java ME runtime based on CLDC 1.1 (JSR-139) and IMP-NG (JSR-228). The runtime and virtual machine (VM) are highly optimized for embedded use. Also included in the product are the following optional JSRs and Oracle APIs:

ME E Overview

  • File I/O API’s (JSR-75) 
  • Wireless Messaging API’s (JSR-120)
  • Web Services (JSR-172)
  • Security and Trust Services subset (JSR-177)
  • Location API’s (JSR-179)
  • XML API’s (JSR-280) 
  • Device Access API
  • Application Management System (AMS) API
  • AccessPoint API
  • Logging API

Additional embedded features are:

  • Remote application management system
  • Support for continuous 24×7 operation
  • Application monitoring, auto-start, and system recovery
  • Application access to peripheral interfaces such as GPIO, I2C, SPIO, memory mapped I/O
  • Application level logging framework, including option for remote logging
  • Headless on-device debugging – source level Java application debugging over IP Connection
  • Remote configuration of the Java VM

What type of platforms are targeted by Oracle Java ME 3.2 Embedded?

The product is designed for embedded, always-on, resource-constrained, headless (no graphics/no UI), connected (wired or wireless) devices with a variety of peripheral I/O. 

The high-level system requirements are as follows:

  • System based on ARM architecture SOCs
  • Memory footprint (approximate)
    • from 130 KB RAM/350KB ROM (for a minimal, customized configuration)
    • to 700 KB RAM/1500 KB ROM (for the full, standard configuration) 
  • Very simple embedded kernel, or a more capable embedded OS/RTOS
  • At least one type of network connection (wired or wireless)

The initial release of the product is delivered as a device emulation environment for x86/Windows desktop computers, integrated with the Java ME SDK 3.2.

A standard binary of Oracle Java ME Embedded 3.2 for ARM KEIL development boards based on ARM Cortex M-3/4 (KEIL MCBSTM32F200 using ST Micro SOC STM32F207IG) will soon be available for download from the Oracle Technology Network (OTN). 

Nanini peter

What types of applications can I develop with Oracle Java ME Embedded 3.2?

The Oracle Java ME Embedded 3.2 product is a full-featured embedded Java runtime supporting applications based on the IMP-NG application model, which is derived from the well-known MIDP 2 application model. The runtime supports execution of multiple concurrent applications, remote application management, versatile connectivity, and a rich set of APIs and features relevant for embedded use cases, including the ability to interact with peripheral I/O directly from Java applications.

This rich feature set, coupled with familiar and best-in class software development tools, allows developers to quickly build and deploy sophisticated embedded solutions for a wide range of use cases. Target markets well supported by Oracle Java ME Embedded 3.2 include wireless modules for M2M, industrial and building control, smart grid infrastructure, home automation, and environmental sensors and tracking.

What tools are available for embedded application development for Oracle Java ME Embedded 3.2?

Along with the release of Oracle Java ME Embedded 3.2, Oracle is also making available an updated version of the Java ME Software Development Kit (SDK), together with plug-ins for the NetBeans and Eclipse IDEs, to deliver a complete development environment for embedded application development. 

OK – sounds great! Where can I find out more? And how do I get started?

There is a complete set of information, data sheet, API documentation, “Getting Started Guide”, FAQ, and download links available:

  • For an overview of Oracle Embeddable Java, see here.
  • For the Oracle Java ME Embedded 3.2 press release, see here.
  • For the Oracle Java ME Embedded 3.2 data sheet, see here.
  • For the Oracle Java ME Embedded 3.2 landing page, see here.
  • For the Oracle Java ME Embedded 3.2 documentation page, including a “Getting Started Guide” and FAQ, see here.
  • For the Oracle Java ME SDK 3.2 landing and download page, see here.
  • Finally, to ask more questions, please see the OTN “Java ME Embedded” forum

To get started, grab the “Getting Started Guide” and download the Java ME SDK 3.2, which includes the Oracle Java ME Embedded 3.2 device emulation. 

Can I learn more about Oracle Java ME Embedded 3.2 at JavaOne and/or Java Embedded @ JavaOne?

Glad you asked 😉 Both conferences, JavaOne and Java Embedded @ JavaOne, will feature a host of content and information around the new Oracle Java ME Embedded 3.2 product, from technical and business sessions, to hands-on tutorials, and demos. Stay tuned, I will post details shortly.


— Terrence

Enter your email address to subscribe to this blog

Join 180 other followers

Twitter Updates

August 2020

Blog Stats

  • 280,276 hits