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 pager
s up to set-top box
[CDC Overview http://java.sun.com/javame/technology/cdc/overview.jsp]
The CDC was developed under the Java Community Process
[JSR 36, CDC 1.0.2 http://www.jcp.org/en/jsr/detail?id=36]
(CDC 1.0.2) and JSR 218
[JSR 218, CDC 1.1.2 http://www.jcp.org/en/jsr/detail?id=218]
Devices that support CDC typically include a 32-bit CPU
with about 2 MB
, 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.
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.
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. 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
[JSR 219, Foundation Profile Specification http://www.jcp.org/en/jsr/detail?id=219]
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
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. 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
[JSR 217, Personal Basis Profile Specification http://www.jcp.org/en/jsr/detail?id=217]
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
The Personal Profile extends the Personal Basis Profile with a GUI toolkit based on AWT. 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.
[J2ME FAQ, Writing an application for the J2ME Personal Profile http://developers.sun.com/mobility/personal/questions/gui/]
This is the recommended profile for porting of legacy PersonalJava
-based applications. The specification is described in JSR 62
[JSR 62, Personal Profile Specification http://www.jcp.org/en/jsr/detail?id=62]
and uses the Applet
programming model for application development.
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.
*Connected Limited Device Configuration
or ''CLDC'', another framework for building Java ME applications
External linksCDC home page
Category:Java device platform
Category:Java specification requests