Java Platform Micro Edition (Java ME), formerly and popularly known as Java 2 Micro Edition (J2ME) is a Java platform for embedded devices like mobile phones, PDA's, set-top boxes etc. J2ME customizes Java to these device capabilities. J2ME is optimized to smaller memory footprint and the core to this technology is KVM which is an optimized Virtual Machine for various devices. This optimization is based on memory, power consumption and connectivity of the respective devices.
When we say devices there can be various devices each having various capabilities, screen size, functionality etc. It would be meaningless to have a same Virtual Machine for all the devices. Let us consider following scenarios
J2ME takes care of all these scenarios by providing Configurations, Profiles and Optional Packages.
Figure shows basic J2ME architecture

Configurations provide core API's for a group of devices which are similar in nature, it provides base API's for Connection Framework, Memory issues etc. Currently J2ME has two configurations - Connected Limited Device Configuration (CLDC) and Connected Device Configuration (CDC).
Profiles are device specific API's and address issues like GUI, Persistent memory, device specific functionalities etc. Most popular profiles are Mobile Information Device Profile (MIDP), Personal Profile (PP) and Personal Basis Profile (PBP).
Relation between Profiles and Configurations
Profiles = Configurations + Basic Device specific features
Optional Packages are the additional features provided for Profiles. Let us think about the earlier mentioned scenario where there are mobile devices which support Bluetooth and those which do not support Bluetooth. J2ME has pushed Bluetooth to Optional Packages. This way Bluetooth Optional Package is supported only by the device which is Bluetooth enabled.
OEM Features: The device manufacturers can also provide additional API's which may be vendor specific like special User Interface API's, Printer API's etc.
J2ME platform has now got a wide industry support because of its flexibility in programming various devices and also because of the usual Java buzzword ``Write Once, Run Anywhere''. In this tutorial we will concentrate on the most popular profile Mobile Information Device Profile (MIDP) which is now a major programming platform for mobile devices.
site comments powered by Disqus
This page is a part of
a frames based web site. If you have landed on this page from a search engine
click here to view the complete page.