Tuesday, October 27, 2009

j2me in this universe

Java ME is not a piece of software, nor is it a single specification.

Java ME is a platform, a collection of technologies and specifications that are designed for different parts of the small device market. Because Java ME spans such a variety of devices, it wouldn't make sense to try to create a one-size-fits-all solution.


Java ME, therefore, is divided into configurations, profiles,and optional packages.


Configurations are specifications that detail a virtual machine and a base set of APIs that can be used with a certain class of device. set of APIs is customarily a subset of the Java SE APIs.

configuration describes a JVM1 and a basic set of APIs, it does not by itself specify enough detail to enable you to build complete applications


A profile builds on a configuration but adds more specific APIs to make a complete environment for building applications.

Profiles usually include APIs for application life cycle, user interface, and persistent storage.

An optional package provides functionality that may not be associated with a specific configuration or profile. One example of an optional package is the Bluetooth API (JSR 82), which provides a standardized API for using Bluetooth networking. This optional package could be implemented alongside virtually any combination of configurations and profiles.

Optional packages bubble like a froth above the CLDC and CDC branches of Java ME. These provide all sorts of capabilities ranging from Bluetooth communication through web services and instant messaging. Look in the table for links to the specifications themselves.


The current universe of configurations, profiles and optional packages is shown in the diagram below. The tables immediately following provide more details about the abbreviations in the figure.


Java ME Overview


Java ME are developed under the CONTROL of the Java Community Process (JCP).

A specification begins life as a Java Specification Request (JSR).
The JSR then passes through various stages in the JCP before it is finished. Every JSR is assigned a number. Java ME specifications are commonly referred to by their JSR number.





Configurations
CLDC 1.0
Connected, Limited Device Configuration
CLDC 1.1
Connected, Limited Device Configuration 1.1
CDC
Connected Device Configuration
CDC 1.1
Connected Device Configuration 1.1
Profiles
MIDP 1.0
Mobile Information Device Profile
MIDP 2.0
Mobile Information Device Profile 2.0
PDAP
PDA Profile
FP
Foundation Profile
FP 1.1
Foundation Profile 1.1
PBP
Personal Basis Profile
PBP 1.1
Personal Basis Profile 1.1
PP
Personal Profile
PP 1.1
Personal Profile 1.1
IMP
Information Module Profile
IMP-NG
Information Module Profile - Next Generation
Optional Packages
PIM
PDA Optional Packages for the Java ME Platform
BTAPI
Java APIs for Bluetooth
WMA
Wireless Messaging API
WMA 2.0
Wireless Messaging API 2.0
MMAPI
Mobile Media API

JAIN SIMPLE Presence

JAIN SIMPLE Instant Messaging

Java ME Web Services
SATSA
Security and Trust Services API for Java ME

Location API for Java ME
SIP
SIP API for Java ME
3D
Mobile 3D Graphics API for Java ME

JAIN Presence

JAIN Instant Messaging

Event Tracking API for Java ME

Advanced Graphics and User Interface Optional Package for Java ME Platform
CHAPI
Content Handling API

Micro WSCI Framework for Java ME

Micro BPSS for Java ME Devices

Scalable 2D Vector Graphics API

Payment API

Data Sync API

Mobile Operational Management

Advanced Multimedia Supplements

Mobile Internationalization API

Java Bindings for OpenGL ES

Device Management API

Mobile Telephony API (MTA)


The other major branch of the Java ME tree is based on the Connected Device Configuration (CDC). This configuration is for larger devices (in terms of memory and processing power) with robust network connections. Set-top boxes and internet appliances are good examples of CDC devices, although high-end PDAs like the Sharp Zaurus also fit this configuration well. The Foundation Profile extends CDC and serves as the basis for several other profiles.


Java Technologies for Handsets, Smart Cards, and Embedded Devices

Java ME has evolved into an organized architecture for electronic devices, including sets of Java APIs for high-end PDAs and embedded devices, as well as for more constrained devices such as cell phones, low-end PDAs, and headless devices -- those without display or user interface (UI) facilities. Today the Java technologies for handsets, smart cards, and embedded devices are split

Figure 2: Java Technologies for Handsets, Smart Cards, and Embedded Devices

Java ME comprises the Connected Limited Device Configuration (CLDC) and the Connected Device Configuration (CDC):

  • CLDC supports resource-constrained devices with limited connectivity, such as cell phones, two-way pagers, low-end PDAs, and headless devices.

  • CDC supports less restrictive, high-end connected devices, such as high-end PDAs and communicators, and sophisticated embedded devices.

Java Card technology consists of the Java Card VM, the Java Card framework, and the security and remote invocation APIs.

Java SE for Embedded is Java SE technology with special support, functionality, and a licensing model for embedded platforms. It has a smaller footprint Java SE technology-based runtime, memory optimizations, and other savings, access to read-only memory (ROM) or compact flash, and support for embedded CPUs and operating systems. It replaces EmbeddedJava and PersonalJava.


No comments:

Post a Comment