A profile is layered on top of a configuration (and someday, on Building Blocks), adding the APIs and specifications necessary to develop applications for a specific family of devices.
Several different profiles are being developed under the Java Community Process. Table 1-1 provides a birds-eye view.
NAME | JSR | ROM | RAM | BASE |
---|---|---|---|---|
Foundation | 46 | 1024KB | 512KB | CDC |
Personal | 62 | 2.5MB | 1MB | CDC + Foundation Profile |
RMI | 66 | 2.5MB | 1MB | CDC + Foundation Profile |
MIDP | 37 | 128KB | 32KB | CLDC |
PDA | 75 | ~256 KB | ~256KB | CLDC |
The Foundation Profile is a fundamental specification for devices that can support a rich-networked J2ME environment. It does not support a user interface; other profiles can be layered on top of the Foundation Profile to add user interface support and other functionality.
Layered on top of the Foundation Profile are the Personal Profile and the RMI Profile. The combination of CDC + Foundation Profile + Personal Profile is designed as the next generation of the PersonalJava™ application runtime environment (see http://java.sun.com/products/personaljava/). As such, the Personal Profile has the specific goal of backward compatibility with previous versions of Personal Java.
The RMI Profile is also built on top of the Foundation Profile. As the name implies, this profile is designed for smallish devices that will support RMI, and by extension, JINI. (RMI is Remote Method Invocation, Java's distributed object technology. JINI is a technology for dynamic, pluggable networked devices. For more information, see http://java.sun.com/products/jini/.) This is a larger scale than we'll be talking about; space is at such a premium in devices like mobile phones that there's simply not room for the Reflection API, RMI, or JINI.
The PDA Profile is designed for palmtop devices with a minimum of 512KB combined ROM and RAM (and a maximum of 16MB). It will probably use a subset of the J2SE Abstract Windowing Toolkit (AWT) for graphic user interface.
The focus of this book is the Mobile Information Device Profile (MIDP). According to the specification, a Mobile Information Device (MID) has the following characteristics:
128KB of non-volatile memory for the MIDP implementation
32KB of volatile memory for the runtime heap
8KB of non-volatile memory for persistent data
A screen of at least 96 × 54 pixels
Some capacity for input, either by keypad, keyboard, or touch screen
Two-way network connection, possibly intermittent
Try to imagine a device that might be a MID: mobile telephones and advanced pagers are right in the groove, but entry-level PDAs could also fit this description.
More information about MIDP, including a link to the official specification document, is at http://java.sun.com/products/midp/.
Or you could just keep reading.
Team-Fly |