Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Connected Device Configuration
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Java ME application framework}} The '''Connected Device Configuration''' ('''CDC''') is a specification of a [[Software framework|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.<ref name="java.sun.com">CDC Overview http://java.sun.com/javame/technology/cdc/overview.jsp {{Webarchive|url=https://web.archive.org/web/20090608140537/http://java.sun.com/javame/technology/cdc/overview.jsp |date=2009-06-08 }}</ref> The CDC was developed under the [[Java Community Process]] as [[Java Specification Request|JSR]] 36<ref name="jsr36">JSR 36, CDC 1.0.2 http://www.jcp.org/en/jsr/detail?id=36 {{Webarchive|url=https://web.archive.org/web/20201031222255/http://www.jcp.org/en/jsr/detail?id=36 |date=2020-10-31 }}</ref> (CDC 1.0.2) and JSR 218<ref name="jsr218">JSR 218, CDC 1.1.2 http://www.jcp.org/en/jsr/detail?id=218 {{Webarchive|url=https://web.archive.org/web/20200923194838/http://www.jcp.org/en/jsr/detail?id=218 |date=2020-09-23 }}</ref> (CDC 1.1.2). ==Typical requirements== Devices that support CDC typically include a 32-[[bit]] [[Central processing unit|CPU]] with about 2 [[megabyte|MB]] of [[Random Access Memory|RAM]], and 2.5 MB of [[Read-only memory|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.<ref name="java.sun.com"/> ==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.<ref>Foundation Profile Overview http://java.sun.com/products/foundation/overview.html {{Webarchive|url=https://web.archive.org/web/20090727145114/http://java.sun.com/products/foundation/overview.html |date=2009-07-27 }}</ref> 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<ref name="jsr219">JSR 219, Foundation Profile Specification http://www.jcp.org/en/jsr/detail?id=219 {{Webarchive|url=https://web.archive.org/web/20100612201855/http://jcp.org/en/jsr/detail?id=219 |date=2010-06-12 }}</ref> 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 ([[Java_Authentication_and_Authorization_Service|JAAS]]), Java Secure Socket Extension ([[Java_Secure_Socket_Extension|JSSE]]), and Java Cryptography Extension ([[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.<ref>Personal Basis Profile Overview http://java.sun.com/products/personalbasis/overview.html {{Webarchive|url=https://web.archive.org/web/20090727145129/http://java.sun.com/products/personalbasis/overview.html |date=2009-07-27 }}</ref> A framework for building lightweight graphical user interface components is provided with support for some [[Abstract Window Toolkit|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<ref name="jsr217">JSR 217, Personal Basis Profile Specification http://www.jcp.org/en/jsr/detail?id=217 {{Webarchive|url=https://web.archive.org/web/20091125024150/http://jcp.org/en/jsr/detail?id=217 |date=2009-11-25 }}</ref> 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=== The '''Personal Profile''' extends the '''Personal Basis Profile''' with a GUI toolkit based on AWT.<ref>Personal Profile Overview http://java.sun.com/products/personalprofile/overview.html {{Webarchive|url=https://web.archive.org/web/20090912003436/http://java.sun.com/products/personalprofile/overview.html |date=2009-09-12 }}</ref> 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.<ref>J2ME FAQ, Writing an application for the J2ME Personal Profile http://developers.sun.com/mobility/personal/questions/gui/ {{Webarchive|url=https://web.archive.org/web/20090225101018/http://developers.sun.com/mobility/personal/questions/gui/ |date=2009-02-25 }}</ref> This is the recommended profile for porting of legacy [[PersonalJava]]-based applications. The specification is described in JSR 62<ref name="jsr62">JSR 62, Personal Profile Specification http://www.jcp.org/en/jsr/detail?id=62 {{Webarchive|url=https://web.archive.org/web/20100610102343/http://jcp.org/en/jsr/detail?id=62 |date=2010-06-10 }}</ref> and uses the [[Applet]] 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 [[Java remote method invocation|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== *[[Connected Limited Device Configuration]] or ''CLDC'', another framework for building Java ME applications ==References== {{Reflist}} ==External links== *[http://www.oracle.com/technetwork/java/javame/tech/index-jsp-139293.html CDC home page] [[Category:Java device platform]] [[Category:Java specification requests]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)