Java Programing laungage

J2ME Projects

J2ME Project 1

adplus-dvertising
Architecture of J2ME
Previous Home Next

J2ME uses Configurations, Profiles, and Optional APIs packages to customize the Java Runtime Environment (JRE). As a complete JRE, J2ME is comprised of a configuration, which defines the basic run-time environment as a set of core classes and a specific JVM that run on specific types of devices, a profile defines the application; specifically, it adds domain-specific classes to the J2ME configuration to define certain uses for devices and a optional APIs package define specific additional functionality of core classes.

Generally, Architecture of J2ME define into four basic layer

  1. Application Layer: Application layer targeted at two product groups, are:
    • Mobile, personal, and connected information devices such as Pagers, Mobile phones etc.
    • Fixed, shard, and connected information devices such as Car- Navigation Systems, Internet Appliances, Set - Top boxes etc.
  2. Profile Layer:Profiles layer based on a configuration and additional API’s for user interface, persistent storage and factors necessary for developing wireless applications.
  3. Mobile Information Device (MIDP) Profile: MIDP is specification published for the use of Java, mobile devices, and embedded system. It is a part of Java Micro Edition (Java ME) framework and top of a Connected Limited Device Configuration (CLDC). Its provides a standard platform for small, resource-limited, and wireless-connected mobile information devices. MIDP requires CLDC for implementation.

    Personal Digital Assistance (PDAP) Profile:PDAP is specifically designed for Palmtop or similar devices with limited power, typical battery operated, user interface displays like a pointing device and character input, with minimum of 512kb (and maximum 16MB) combined ROM (read only memory) and RAM (random access memory) hardware.

    Personal Profile:Personal profile specification repacks the Personal Java APIs Environment to provide J2ME specification for devices that need a high degree of Internet connectivity. This profile builds on top of foundation profile.

    Personal Basic Profile:This profile is intended to provide basic Graphical User Interface (GUI) capabilities to devices where the high-fidelity, feature-rich Personal Profile is not fully utilized or necessary means which running the CDC and Foundation Profile.

    Remote Method Invocation (RMI) Profile:RMI profile also builds on top of Foundation profile and supports inter-application RMI over TCP/IP connections for applications written to the Foundation Profile. It's provides the infrastructure to marshal objects as the parameters and return values of remote method calls while the dynamic class loading is utilized to make the marshalled objects available to a particular JVM during a remote call. A special type of protocol - wire protocol JRMP (Java Remote Method Protocol) is required for supported.

    Core Application Programming Interface (APIs) of RMI:

    java.rmi

    Foundation Profile:The Foundation profiles specified for devices that can support a rich networked J2ME environment. It provides services for other device-specific profiles (such as Personal profile and RMI profile) to be layered on top of it. This profile specific design for CDC profiles that provide Graphical User Interface (GUI), Data storage, and distribution of java networking.

  4. Configuration Layer:The configuration Layer is define the basic defines the basic run-time environment as a set of core classes and a specific JVM that run on specific kind of device based on memory constraints and processor power.
  5. Connected Limited Device Configuration (CLCD): - CLDC is a framework for ME defines the the basic set of APIs, library, and virtual-machine features for resource-constrained devices like pager, mobile phones, and mainstream Personal Digital Assistants (PDAs) and must be implemented into applications.

    It provide a standard platform for developers for developing some complex applications on embedded devices with limited resource such as phones and pager by combined with one or more than one Profiles. CLDC is build on “scale down” version of Java virtual Machine (JVM) called KVM (Kilobytes Virtual Machine) for 16 - bit or 32- bit device with limited amounts of memory.

    Connected Device Configuration (CLCD):CDC is a framework for Java ME defines the basic set of APIs, library, and virtual-machine features for resource-constrained devices like pager, mobile phones, and mainstream Personal Digital Assistants (PDAs) and must be implemented into applications. It provide a standard platform for developers for developing some complex application for embedded systems( from pager to set-top boxes) by combined with one or more than one Profiles.

    It specifies a full Java virtual Machine (JVM) called CVM (C Virtual Machine) and is used for 32- bit architectures requiring more than 2 MB of memory.

  6. J2ME Foundation Layer:J2ME layer allow the flexibility of definition of APIs these are general purpose library, core classes, and independent to a particular device family. An abstraction of JSE network and I/O classes is designed for J2ME to make connection between mobile devices and web servers (if possible). It is called Generic Connection Framework (GCF) and used at the programming level.

Designing Goals of J2ME Architecture

J2ME support much different architecture that J2SE and J2EE, hence design goals of J2ME architecture is also different from the Java alternate. Main important goals are:

  1. Provide a strong and powerful architecture that can able to optimized form small size and space and run on very limited memory.
  2. Architecture must be focused on devices that can be highly personalized, varied range of networking capabilities and services, often used by a single person.
  3. Support and power up small memory devices with different capability. These small devices often varies in the area of requirements like memory, user interface, network connectivity, security, data storage, range and bandwidth.
  4. Support maximum flexibility that provide maximum cross- platform capability of java language to support rapid changing marketplace and adapt to existing and unforeseen applications. Also, provide an optimized for delivering applications and data over a network connection.
  5. Clean architecture of J2ME provide all resource for third party developers to develop an application of J2ME- supported devices independent of the Original Equipment Manufacturer (OEM). Also, support scale applications across devices with different capabilities, processing abilities and features.
Previous Home Next