Homepage
 
Search
MIDP3: Mobile device media power train 
MIDP3: Mobile device media power train

Written by: Magnus Olsson and Niklas Widell


 Download PDF file

The third generation of Java Micro Edition MIDP3 (mobile information device profile, JSR271), which has been designed from the ground up to work with any multimedia Java API, promises to deliver the most comprehensive mobile middleware ever. It will do so by articulating interoperability in areas where Java must integrate with native device environments and by augmenting a more consistent end-user experience through several significant enhancements to the user interface. 

 

A facility for modularizing code improves the reuse of development efforts and paves the way for new market opportunities by allowing customized and targeted LIBlets that encapsulate and isolate business logic. MIDP3 supports CDC, CLDC and OSGi configurations, and introduces a fine-grained security framework, a modular application model (LIBlets), a consistent behavior of concurrency, and an extensible and configurable user interface with improved integration to preserve native device look and feel.
 

Introduction
Applications for mobile devices have evolved considerably from a few basic services installed at the factory - such as phone book and SMS. Over time, simple games were added to take advantage of graphic displays. And finally, with the addition of Java, it became possible to add any kind of application over the air.

 

Ericsson Mobile Platforms
Ericsson Mobile Platforms (EMP) was formed in September 2001 as a wholly owned company within Ericsson. On January 1, 2005, it became a business unit within Ericsson, and on January 1, 2007 it was merged into Ericsson's new Multimedia business unit. EMP is based on the large R&D group that developed the core technology for Ericsson's mobile phones throughout the 1990s, providing mobile terminal technology to customers who want to develop and produce mobile phones for GPRS, EDGE and WCDMA. The unit's mission is very simple: "To be the leading mobile platform supplier of complete and optimized solutions in all segments, making our customers truly successful."

 

EMP offers complete mobile phone platforms that consist of all the integrated circuits and software one needs to build a GPRS, EDGE or WCDMA mobile phone. The platforms also provide all necessary system functionality (such as network access, data communications and multimedia services).

 

Mobile platform architecture
All of Ericsson's mobile platforms share a system architecture that satisfies use cases developed together with customers, key operators and network vendors. The architecture is organized as a layered service stack that is similar to the open systems interconnection (OSI) reference model. It contains a common abstraction layer for hardware and a layer of common middleware services that support application software (Figure 1).

 

Middleware services and OPA
The middleware services in the mobile platform provide mechanisms for managing and executing customer and third-party applications. These mechanisms include a Java execution environment (Java ME/CLDC) with an extensible Java virtual machine (JVM), an open application framework for application security and management, a user interface toolkit, and a comprehensive API, called OPA (open platform API).

 

The OPA is consistent across all platform products. Variations in radio network technology make no difference. Developers can thus rest assured that the inherent capability of applications built using OPA will work on any device or product that is based on the platform.

 

Java ME
Java has been adopted and deployed across all tiers of the application environment (Figure 2). Java Enterprise Edition (EE) is used for application servers; Java Standard Edition (SE), for personal or desktop computers; and Java Micro Edition (ME), for mobile and embedded devices. Furthermore, Java ME has been divided into a connected device configuration (CDC) for handheld computers, smartphones, and set-top boxes; and connected limited device configuration (CLDC) for all other devices.

 

MIDlet packaging
Besides a Java virtual machine and configuration (CLDC), one needs a user interface and some means of controlling the life cycle of Java applications (Midlets). The mobile information device profile (MIDP) gives application developers all these essential services.

 

Previous versions of MIDP downloaded and installed MIDlets as parts of MIDlet suites, where each MIDlet suite consisted of a set of MIDlets that could interchange data with each other. All MIDlets in the same suite shared the same data and security permissions.

 

MIDP secure sandbox
The original MIDP security model was based on MIDlet authorization. The procedure verified that MIDlets had not been tampered with and explicitly requested user permission to perform certain operations. The verification mechanism associated the MIDlet with security domains that could be used (via policy definition) to determine whether or not user prompting was necessary.

 

The original version of MIDP executed and performed in a limited environment called a "sandbox." This made it possible to block the use of potentially harmful APIs. MIDP2 introduced a permissions model that required MIDlets to ask for permission to use a particular API, such as messaging or networking. The permission, represented as a string, was either granted or rejected according to policies set by the operator or device manufacturer.

 

EMP Java platform
Today's optimized, integrated Java platform supports most popular Java APIs (JSR), including JSR248 - the mobile service architecture (MSA) suite of JSRs. A seamless blending of Java applications with native counterparts means that developers have greater flexibility when choosing user interfaces without affecting the overall look and feel. Likewise, the extensible architecture allows customers to add their own JSR implementations.

 

The performance of the platform has been verified in recognized benchmark tests to be best in class. Intimate knowledge of platform hardware has allowed Ericsson to create a highly optimized implementation that takes full advantage of all enablers and features in its mobile platforms (Figure 3).

To read the article in its entirety, download the PDF.