Oracle Java ME Embedded Getting Started

What's New

Announcing Oracle Java ME Embedded 8.3

Oracle Java ME Embedded 8.3 is an update release of Oracle Java ME Embedded 8 (see below), including the following new features and improvements:

  • Added security features
    • Secured File System for application and runtime meta-data
    • DTLS server
    • Pre-shared key (PSK)
    • Extended Security API (HMAC)
    • SHA256 support for MIDlet signature
  • Runtime update mechanism

Supported Platforms:

  • Raspberry Pi Model B on Debian Linux
  • STMicroelectronics STM32429I-EVAL (CortexM4/RTX)
  • STMicroelectronics 32746GDISCOVERY (CortexM7/RTX)
  • Device Emulation Environment on Windows 7, 8
  • Device Emulation Environment on Linux

About Oracle Java ME 8 Embedded:

Oracle Java ME Embedded 8 is an implementation of the Java ME standards JSR 360 (Java ME Connected Limited Device Configuration (CLDC) 8) and JSR 361 (Java ME Embedded Profile (MEEP) 8) including:

  • Alignment with Java SE 8 language features and APIs, enabling more streamlined creation of embedded software through a unified development model between Java SE 8 and Java ME 8
  • A significantly updated "services-enabled" application platform allowing modular and flexible software development and deployment to reduce risk and time-to-market for embedded software solutions
  • Support to customize and "right-size" the platform to address a wider range of use cases with target devices starting as low as 128 KB RAM and 1 MB of Flash/ROM (*: MEEP Minimum Profile Set, optimized for single function devices. Actual footprint will vary by device and use case)
  • Access from Java to a range of devices via GPIO, I2C, SPI, UART and more to enable easy cross-platform support of use case-specific hardware and peripherals
  • Application development is supported through the Oracle Java ME SDK 8

Key Features of the Oracle Java ME Embedded 8 release:

  • Implementation of the Java ME 8 specifications
  • Versatile and flexible networking and connectivity, including wireless support (3GPP, CDMA, WiFi)
  • Improved access to peripheral devices through Device Access API
  • Improved tooling support (Developer Agent, On-device Debugging, Memory Monitor, Network Monitor, CPU Profiler, Logging)
  • New APIs for RESTful programming
    • JSON API
    • Async HTTP API
    • OAuth 2.0 API
  • Implementation of the following JSRs:
    • JSR 75 (File Connection API)
    • JSR 120 (Wireless Messaging API)
    • JSR 172 (Web Services API)
    • JSR 177 (Security and Trust Services API)
    • JSR 179 (Location API)
    • JSR 280 (XML API)
  • Usability, performance, and footprint improvements over previous versions of Java ME Embedded 3.x

Overview

Java ME technology was originally created in order to address the constraints associated with building applications for small devices. For this purpose Java ME technology was defined to fit such a limited environment and make it possible to create Java applications running on small devices with limited memory, display and power capacity.

Java ME platform 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. This offers a flexibility and co-existence for all the players in the eco-system to seamlessly cooperate to offer the most appealing experience for the end-user.

The Java ME technology is based on three elements:

  • A configuration provides the most basic set of libraries and virtual machine capabilities for a broad range of devices,
  • A profile is a set of APIs that support a narrower range of devices, and
  • An optional package is a set of technology-specific APIs

The sections below describe two products targeted for embedded devices and based on Java ME technology. The Oracle Java ME Embedded product is a brand new product based on the Java Connected Limited Device Configuration (CLDC) and targets small, resource-constrained embedded devices such as wireless modules for m2m, industrial control, smartgrid infrastructure, environmental sensors and tracking, and more. While the already existing Java ME based product in the market, Oracle Java ME Embedded Client, is based on the Java Connected Device Configuration (CDC) and targets more powerful, mid-range embedded devices such as e-book readers, Blu-ray Disc players, Voice Over IP telephones, televisions, set-top boxes, printers, residential gateways.

Oracle Java ME Embedded 8

Oracle Java ME Embedded 8 is a Java Micro Edition (ME) 8 runtime that leverages the core Java ME technologies deployed in billions of mobile devices around the world. The Java ME 8 specifications are designed to be rich in functionality, portable to a wide range of devices, flexible, and secure while being very resource-efficient and keeping the demands on the underlying platform low.

Oracle Java ME Embedded 8 builds on this proven technology to deliver a highly-optimized and complete client Java runtime stack optimized for resource-constrained, connected, and intelligent embedded systems. It provides a robust and flexible cross-platform application environment based on Java ME 8 standards Java ME Connected Limited Device Configuration (CLDC) 8 (JSR 360) and Java ME Embedded Profile (MEEP) 8 (JSR 361) and implements dedicated embedded functionality for a broad range of use cases.

Oracle Java ME Embedded 8 is supported by a range of best-in-class developer tools, such as the Oracle Java ME SDK 8, as well as plug-ins for popular Integrated Development Environments (IDEs) such as NetBeans. These tools offer system designers and developers a rich and productive environment to create sophisticated small embedded solutions leveraging the benefits of the Java language, runtime, and ecosystem while meeting while meeting tight system resource targets. The figure below illustrates the product stack-

Java ME Embedded Stack

Example Use Cases

Oracle Java ME Embedded 8 targets a wide range of embedded platforms and use cases in the Machine-to-Machine (M2M) and Internet Of Things (IoT) spaces such as:

  • Wireless modules
  • Smart meters/smart sensors
  • Industrial controllers
  • Telehealth devices
  • Environmental remote monitors
  • Tracking systems
  • Home automation devices
  • Connected vending machines
  • and general use cases where devices with local intelligence and versatile connectivity are required

Key Advantages

  • Complete solution for a highly-optimized client Java ME 8 runtime stack optimized for resource-constrained, connected, and intelligent embedded devices
  • Providing a robust and flexible, cross-platform application environment for small embedded solutions
  • Very low footprint and CPU requirements, scaling from micro-controller class systems up to mid-range embedded devices
  • Fully compliant with CLDC 8 (JSR 360) and MEEP 8 (JSR-361) plus support for a number of additional optional JSRs: 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)
  • Dedicated embedded functionality for developing sophisticated embedded solutions, including remote application management and monitoring, remote system configuration, support for robust 24x7 operation, and direct access to peripheral I/O hardware from Java
  • Highly portable and extensible system design to meet the needs of diverse embedded requirements, providing a foundation which enables downstream specialization, enhancements, and productization for specific target markets and use cases
  • Supported by best-in class tools: Oracle Java ME SDK 8 and plug-ins for popular IDEs such as NetBeans – including support for device emulation and remote on-device debugging
  • Backed by Oracle’s expertise in proven and widely commercially deployed Java ME technology

By using Java technologies for embedded products, device manufacturers, system integrators, and developers can build more functional, robust, secure, and long-lived solutions with a reduced time-to-market window, providing better, more cost efficient embedded solutions.

For developing Java applications for small embedded devices, the Oracle Java ME SDK 8 provides a complete and free set of tools, enabling developers to write, compile, deploy, and test their applications. For more information on the Oracle Java ME SDK 8, please click here

Java ME Embedded Training

Oracle University - Java Training Categories
Java SE Java EE
Web Services
The Java Tutorials Blog: Learn Java & Thrive.
OLN: Visit the The Oracle Learning Library and scroll down to Java section
NETBEANS.ORG: Find NetBeans ID Training for creating applications leveraging Java Embedded Technology
Oracle University - Java Training Categories
Java SE Java EE
Java ME Web Services
The Java Tutorials Blog: Learn Java & Thrive.
OLN: Visit the The Oracle Learning Library and scroll down to Java section
NETBEANS.ORG: Find NetBeans ID Training for creating applications leveraging Java Embedded Technology
Know More