Connected Device Configuration
The Connected Device Configuration (CDC) is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation. The CDC is combined with one or more profiles to give developers a platform for building applications on embedded devices ranging from pagers up to set-top boxes.[1] The CDC was developed under the Java Community Process as JSR 36[2] (CDC 1.0.2) and JSR 218[3] (CDC 1.1.2).
Typical requirements
[edit]Devices that support CDC typically include a 32-bit CPU with about 2 MB of RAM, and 2.5 MB of ROM available for the Java application environment. The reference implementations for CDC profiles are based on Linux running on an Intel-compatible PC, and optimized implementations are available for a variety of other CPUs and operating systems.[1]
Profiles
[edit]A profile is a set of APIs that support devices with different capabilities and resources within the CDC framework to provide a complete Java application environment. Three profiles are available, which build on each other incrementally and allow application developers to choose the appropriate programming model for a particular device.
Foundation Profile
[edit]This is the most basic of the CDC family of profiles. Foundation Profile is a set of Java APIs tuned for low-footprint devices that have limited resources that do not need a graphical user interface system.[4] It provides a complete Java ME application environment for consumer products and embedded devices but without a standards-based GUI system. Version 1.1.2 is specified in JSR 219[5] and implements a subset of Java SE 1.4.2, including a set of security-related optional packages, such as Java Authentication and Authorization Service (JAAS), Java Secure Socket Extension (JSSE), and Java Cryptography Extension (JCE).
Personal Basis Profile
[edit]The Personal Basis Profile provides a superset of the Foundation Profile APIs and supports a similar set of devices, with lightweight graphical user interface requirements.[6] A framework for building lightweight graphical user interface components is provided with support for some AWT classes. There are no heavyweight GUI components provided because these components assume the availability of a pointing device such as a mouse. The specification is described in JSR 217[7] and is used for products that require a standards-based graphical user interface but without full AWT compatibility. The Xlet application programming model is used for application development within this profile, including advanced content on Blu-ray discs conforming to the BD-J specification.
Personal Profile
[edit]The Personal Profile extends the Personal Basis Profile with a GUI toolkit based on AWT.[8] It provides a complete Java ME application environment with full AWT support and is intended for higher end devices, such as PDAs, smart communicators, set-top boxes, game consoles, automobile dashboard electronics, and so on.[9] This is the recommended profile for porting of legacy PersonalJava-based applications. The specification is described in JSR 62[10] and uses the Applet programming model for application development.
Optional Packages
[edit]CDC supports a number of optional packages that allow developers to access specific pieces of extra functionality within the restricted resource constraints of a Java ME device.
- The RMI Optional Package provides a subset of Java SE RMI for distributed-application and network communication.
- The JDBC Optional Package provides a subset of the JDBC 3.0 API for accessing data sources, including spreadsheets, flat files and relational databases.
See also
[edit]- Connected Limited Device Configuration or CLDC, another framework for building Java ME applications
References
[edit]- ^ a b CDC Overview http://java.sun.com/javame/technology/cdc/overview.jsp Archived 2009-06-08 at the Wayback Machine
- ^ JSR 36, CDC 1.0.2 http://www.jcp.org/en/jsr/detail?id=36 Archived 2020-10-31 at the Wayback Machine
- ^ JSR 218, CDC 1.1.2 http://www.jcp.org/en/jsr/detail?id=218 Archived 2020-09-23 at the Wayback Machine
- ^ Foundation Profile Overview http://java.sun.com/products/foundation/overview.html Archived 2009-07-27 at the Wayback Machine
- ^ JSR 219, Foundation Profile Specification http://www.jcp.org/en/jsr/detail?id=219 Archived 2010-06-12 at the Wayback Machine
- ^ Personal Basis Profile Overview http://java.sun.com/products/personalbasis/overview.html Archived 2009-07-27 at the Wayback Machine
- ^ JSR 217, Personal Basis Profile Specification http://www.jcp.org/en/jsr/detail?id=217 Archived 2009-11-25 at the Wayback Machine
- ^ Personal Profile Overview http://java.sun.com/products/personalprofile/overview.html Archived 2009-09-12 at the Wayback Machine
- ^ J2ME FAQ, Writing an application for the J2ME Personal Profile http://developers.sun.com/mobility/personal/questions/gui/ Archived 2009-02-25 at the Wayback Machine
- ^ JSR 62, Personal Profile Specification http://www.jcp.org/en/jsr/detail?id=62 Archived 2010-06-10 at the Wayback Machine