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 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 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
|
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