J2ME or also know as Java ME is a platform that is specifically designed for application development to run on mobile phones, PDAs and other embedded systems. J2ME development features an adaptable user interface, which integrates with network protocols and extends support for mobile application development. The mobile applications that are developed on J2ME can be also migrated across various different mobile devices. J2ME application developers create a variety of different mobile applications based on the customized requirements of the clients. They are experience in creating diverse mobile solutions and hence most clients prefer to outsource their mobile business applications to India.
J2ME Architecture and configuration
J2ME comprises of configurations and profiles that allow a developer to customize it for the Java Runtime Environment (JRE). The configuration defines the JVM used and the profile adds domain-specific classes to define the application.
Configurations: The configuration uses a set of core classes and a specific JVM to define the basic run-time environment. The configurations are of two types where one is called CLDC for handheld devices and the second one is CDC for plug-in devices. CLDC is has been developed for 16-bit or 32-bit small computing devices that have limited memory. CDC requires a 32-bit architecture and has at least 2 MB of memory and implements a functional JVM.
Profiles: A profile comprises of classes that allow J2ME application developers to execute features that are typically available on a group of small computing devices. The profiles used with CLDC are mobile information device profile (MIDP) and PDA profile (PDAP). The profiles used with CDC include Foundation Profile, Game Profile, Personal Profile, Personal Basis Profile and RMI Profile.
The J2ME architecture consists of five layers and they are as follows:
MIDP: This is the topmost layer and consists of Java APIs. J2ME application developers use these APIs to create network connections, storage, and user interface. It also provides access to CLDC libraries and MIDP libraries.
J2ME APIs: This is the profile that comprises of a minimum set of application programming interfaces required for the small computing devices.
Configurations: This is responsible to manage the interactions between the JVM and the profile.
Operating System: This is the bottom layer.