Scope of the CLDC and MIDP Standards

3.5.1 Scope of CLDC

Based on the decisions of the JSR 30 and JSR 139 expert groups, the CLDC Specification addresses the following areas:

  • Java language and virtual machine features

  • core libraries (java.lang.*,*, java.util.*)

  • input/output

  • networking

  • security

  • internationalization

The CLDC Specification intentionally does not address the following functionality areas and features:

  • application life-cycle management (installation, launching, deletion)

  • user interface functionality

  • event handling

  • high-level application model (interaction between the user and the application)

These features can be addressed by profiles implemented on top of the Connected, Limited Device Configuration. In general, the CLDC expert group intentionally kept small the number of areas addressed by the CLDC Specification in order not to exceed the strict memory limitations or to exclude any particular device category.

3.5.2 Scope of MIDP

Mobile Information Devices (MIDs) span a potentially wide set of capabilities. Rather than try to address all such capabilities, the MIDP 1.0 expert group agreed to limit the set of APIs specified, addressing only those APIs that were considered absolute requirements to achieve broad portability.

These APIs are:

  • application model (that is, defining the semantics of a MIDP application and how the application is controlled)

  • user interface (includes display and input)

  • persistent storage

  • networking

  • timers


The MIDP 2.0 expert group expanded upon these APIs to add the highest priority functionality identified as missing after the experience of the initial MIDP device deployments. The added MIDP 2.0 APIs are:

  • sounds

  • 2D games

  • MIDlet signing model for added security

  • end-to-end security through HTTPS and secure sockets

  • application delivery and installation

By the same reasoning, some areas of functionality were considered to be outside the scope of the MIDP expert groups. These areas include:

  • System-level APIs: The emphasis of the Mobile Information Device Profile is on enabling application programming rather than enabling system programming. Thus, low-level APIs that specify a system interface to, for example, power management or voice CODECs, are beyond the scope of the MIDP Specification.

  • Low-level security[7]: MIDP specifies no additional low-level security features other than those provided by the CLDC.

    [7] Low-level security (also known as virtual machine security) ensures that an ill-formed or maliciously encoded class file does not crash the virtual machine or the device.

  • Application-level cryptography[8]: MIDP specifies no explicit cryptography APIs, although MIDlet Suite Security is described in Chapter 18.

    [8] Application-level cryptography defines which APIs and system resources the application can access.

At first glance, the scope of the MIDP Specification might seem limited. However, given the broad range of devices that the MIDP Specification addresses, the MIDP expert group felt that it would be better to concentrate on a small set of common, required functionality, and by doing so create a "lowest common denominator" platform where none exists today. In particular, the MIDP expert group did not want to mandate features that cannot be supported easily on all the MIDP target devices and wireless networks.

     Python   SQL   Java   php   Perl 
     game development   web development   internet   *nix   graphics   hardware 
     telecommunications   C++ 
     Flash   Active Directory   Windows