Connected Device Configuration
Encyclopedia
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
es. The CDC was developed under the Java Community Process
as JSR
36 (CDC 1.0.2) and JSR 218 (CDC 1.1.2).
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.
), Java Secure Socket Extension (JSSE
), and Java Cryptography Extension (JCE
).
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 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.
-based applications. The specification is described in JSR 62 and uses the Applet
programming model for application development.
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...
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
Pager
A pager is a simple personal telecommunications device for short messages. A one-way numeric pager can only receive a message consisting of a few digits, typically a phone number that the user is then requested to call...
s up to set-top box
Set-top box
A set-top box or set-top unit is an information appliance device that generally contains a tuner and connects to a television set and an external source of signal, turning the signal into content which is then displayed on the television screen or other display device.-History:Before the...
es. The CDC was developed under the Java Community Process
Java Community Process
The Java Community Process or JCP, established in 1998, is a formalized process that allows interested parties to get involved in the definition of future versions and features of the Java platform....
as JSR
JSR
JSR may refer to:*Java Specification Request, in computing*Joint spectral radius, in mathematics*Jet Set Radio, a video game*The Journal of Sex Research*Java Specification Request, a proposal made in the Java Community Process...
36 (CDC 1.0.2) and JSR 218 (CDC 1.1.2).
Typical requirements
Devices that support CDC typically include a 32-bitBit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...
CPU
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
with about 2 MB
Megabyte
The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...
of RAM, and 2.5 MB of ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...
available for the Java application environment. The reference implementations for CDC profiles are based on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
running on an Intel-compatible PC, and optimized implementations are available for a variety of other CPUs and operating systems.
Profiles
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
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 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 (JAASJava Authentication and Authorization Service
Java Authentication and Authorization Service, or JAAS, pronounced "Jazz", is a Java security framework for user-centric security to augment the Java code-based security...
), Java Secure Socket Extension (JSSE
Java Secure Socket Extension
The Java Secure Socket Extension is a set of packages that enable secure Internet communications. It implements a Java technology version of Secure Sockets Layer and Transport Layer Security protocols...
), and Java Cryptography Extension (JCE
Java Cryptography Extension
The Java Cryptography Extension is an officially released Standard Extension to the Java Platform. JCE provides a framework and implementation for encryption, key generation and key agreement, and Message Authentication Code algorithms...
).
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 AWTAbstract Window Toolkit
The Abstract Window Toolkit is Java's original platform-independent windowing, graphics, and user-interface widget toolkit. The AWT is now part of the Java Foundation Classes — the standard API for providing a graphical user interface for a Java program.AWT is also the GUI toolkit for a...
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 and is used for products that require a standards-based graphical user interface but without full AWT compatibility. The Xlet
Xlet
An Xlet is very similar to a Java applet and is originally introduced in Sun's Java TV specification to support applications for Digital TV. Though Xlet looks superficially different from other application models in Java such as applet and MIDlet, it is actually meant to be a generalization of such...
application programming model is used for application development within this profile, including advanced content on Blu-ray discs conforming to the BD-J
BD-J
BD-J, or Blu-ray Disc Java, is a specification supporting Java ME Xlets for advanced content on Blu-ray Disc and the Packaged Media profile of Globally Executable MHP .BD-J allows bonus content on Blu-ray Disc titles to be far more sophisticated than bonus content provided by standard DVD,...
specification.
Personal Profile
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. This is the recommended profile for porting of legacy PersonalJavaPersonalJava
PersonalJava was a Java edition for mobile and embedded systems based on Java 1.1.8 . It has been superseded by the CDC's Personal Profile which is not yet widely deployed.-External links:*...
-based applications. The specification is described in JSR 62 and uses the Applet
Applet
In computing, an applet is any small application that performs one specific task that runs within the scope of a larger program, often as a plug-in. An applet typically also refers to Java applets, i.e., programs written in the Java programming language that are included in a web page...
programming model for application development.
Optional Packages
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 RMIJava remote method invocationThe Java Remote Method Invocation Application Programming Interface , or Java RMI, is a Java application programming interface that performs the object-oriented equivalent of remote procedure calls ....
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
- Connected Limited Device ConfigurationConnected Limited Device ConfigurationThe Connected Limited Device Configuration 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...
– or CLDC, another framework for building Java ME applications.