 |
|
 |
|
 |
 |
 |

|
CDC FAQ
J2ME Platform and Standards
Sales and Licensing
CDC Products
Developers
J2ME Platform and Standards
What is the Java 2 Platform, Micro Edition?
The
Java 2 Platform, Micro Edition
(J2ME) is the Java 2 platform targeted at consumer electronics
and embedded devices like wireless phones, pagers, personal digital
assistants, camcorders, game devices, small retail payment terminals
and smart cards.
- What are the principal components of J2ME
platform technology?
J2ME platform technology has three components which, taken
together, form a compliant Java application environment:
- A Configuration is
a combination of a Java virtual machine and a set of application support
APIs that are shared across a class of devices.
- A Profile is a set
of APIs (designed for a specific configuration) that address the needs
of a narrower device category.
- An Optional Package
is a set of technology-specific APIs
that extends the capabilities of a Java application environment.
A J2ME-compliant Java application environment requires both a
configuration and a profile. Optional Packages provide device designers
and other JCP participants with a standards-based extension framework.
- How are J2ME standards defined?
Java technology standards are developed through the
Java Community Process
(JCP) by expert groups drawn from
several industries. In this way, industry participants help shape J2ME
standards targeted for their markets. For more information on
the Java Community Process, see
http://java.sun.com/aboutJava/communityprocess/.
J2ME technology is built around JSRs,
reference implementations and technology compatibility kits.
- What is a JSR?
Java technology standards are delivered as Java Specification Requests (JSRs).
Expert groups propose, develop and ratify JSRs through the Java
Community Process.
- What is a reference implementation?
A reference implementation
(RI) is a working demonstration of a JSR. RIs are developed and licensed
by the JSR specification lead.
- What is a technology compatibility kit?
A technology compatibility kit
(TCK) is a test suite that verifies whether an implementation is
compliant with a given JSR. TCKs are developed and licensed by the JSR
specification lead.
Sales and Licensing
- What is the licensing model for J2ME technology?
The CDC reference implementation source code is available free of
charge for education and research purposes under the
Sun Community Source License Agreement (SCSL).
If you plan to ship a commercial
product that leverages Sun's source code,
or if you want to use one of the CDC
technology compatibility kits developed by Sun,
you must sign a commercial license agreement with Sun.
- Does Sun license only reference implementations and TCKs?
Sun also licenses optimized implementations of various JSRs,
as well as different optimized versions of CDC HotSpot Implementation.
- How can I contact a Sun OEM software sales representative?
Sales and licensing information is available from Sun sales representatives.
For more information,
contact
Sun Microsystems Software and Technology.
CDC Products
- What is CDC?
The
Connected Device Configuration
is a standards-based framework for building and
delivering mobile applications that can be shared across a range of
network-connected personal mobile devices. Typically, these devices
include a 32-bit microprocessor/controller and require about 2 MB of RAM
and 2.5 MB of ROM for the Java application environment.
- What is CDC HotSpot Implementation?
The
Connected Device Configuration HotSpot Implementation
(formerly CVM) is a Java virtual machine
that is highly optimized for resource-constrained devices
like consumer products and embedded devices.
CDC HotSpot Implementation combines full Java 2 compatibility
with excellent performance, reliability and a low memory footprint.
- How many Java virtual machine implementations does Sun
have?
As the leader in Java virtual machine technology,
Sun has developed several Java virtual machine implementations
for different product scenarios
and continues to perform research and development in this area.
The following Java virtual machine technology products share the HotSpot brand:
-
Java HotSpot Server
is designed for multi-processor enterprise server environments
that require maximum program execution speed,
64-bit support and very large memory heaps.
-
Java HotSpot Client
is designed for single-processor desktop environments
that require faster start-up time
and a smaller memory footprint.
-
CDC HotSpot Implementation
(formerly CVM)
is designed for resource-constrained devices
like consumer products and embedded devices.
Typically, these devices include
a 32-bit microprocessor/controller
and require about 2 MB of RAM and 2.5 MB of ROM
for the Java application environment.
CDC HotSpot Implementation has excellent performance
and reliability for low-memory conditions.
Its portability interfaces make it rapidly adaptable
for the many different kinds of platforms
in the consumer and embedded market.
-
CLDC HotSpot Implementation
(formerly Monty)
is designed for very small memory scenarios,
typically 128 KB to 512 KB for the Java application environment.
CLDC HotSpot Implementation also includes a portability interface
for supporting alternate CPUs and operating systems.
- For what platforms are implementations available?
Sun has developed optimized versions of CDC and CDC HotSpot Implementation
for the ARM, PowerPC, MIPS and SPARC CPU architectures
and the Linux, vxWorks, PocketPC, MacOS and Solaris operating systems.
The Personal Basis Profile reference implementation
includes a device-driver based portability interface
that includes a sample port based on X11.
The Personal Profile reference implementation
includes a sample port based on the
GTK+ 1.2 toolkit.
Other ports of Personal Profile include the
QT application framework.
- What profiles are currently available for CDC?
CDC currently supports three profiles.
Foundation Profile
provides basic application support APIs without any additional support for GUIs.
Personal Basis Profile
includes all of the APIs contained in
Foundation Profile
and adds support for lightweight AWT GUI components
and the xlet application model.
Personal Profile
includes all of the APIs contained in
Personal Basis Profile
and adds support for full AWT
compatibility and the applet application model.
- What optional packages are currently available
for CDC?
CDC currently supports several optional packages,
with more on the way.
RMI Optional Package
supports remote method invocation based on
the J2ME java.rmi package.
JDBC Optional Package
provides a subset of
the JDBC 3.0 API for accessing tabular data sources including
spreadsheets, flat files and cross-DBMS connectivity to a wide range of
SQL databases.
Mobile Media Optional Package
supports access to audio,
video and other time-based multimedia services on resource-constrained
devices and allows Java applications to access device-level multimedia
services.
- What is the difference between CDC and CLDC?
These two J2ME configurations are designed around different target
device footprints. CLDC is designed for very small memory scenarios,
typically 128 KB to 512 KB while CDC is designed for more moderate
memory scenarios, typically 2 MB of RAM and 2.5 MB of ROM. As a result,
the CLDC APIs are very compact and do not require J2SE compatibility.
CDC is based on J2SE compatibility for both APIs and tools.
- What is the migration path for the
PersonalJava,
EmbeddedJava
and JavaOS technologies?
These technologies precede both J2SE and the JCP standards organization.
Rather than retrofit them into the JCP process
they are being replaced by new JCP standards. The migration path for
these legacy technologies is with CDC and its profiles.
Developers
- What are the differences between the CDC APIs and J2SE APIs?
Most of the core APIs are identical between CDC and J2SE 1.3.1.
The main differences are in java.awt
and the omission of javax.swing
and other large packages like org.omg.*.
See CDC API Comparison
for a description of the relationship
between the J2SE 1.3.1 APIs and the CDC APIs.
- Can I migrate my code from J2SE to CDC?
Because CDC includes the core application support APIs from J2SE
1.3.1,
migrating code from a J2SE application environment to a CDC
application environment is straightforward.
- What are the differences between the CDC APIs and CLDC APIs?
The CDC and CLDC APIs are very different.
The CLDC APIs were designed around very small resource configurations
and therefore do not require J2SE compatibility.
The CDC APIs were designed around more moderate memory constraints
and the need for J2SE compatibility for both APIs and tools.
- Can I migrate my code from CLDC to CDC?
Yes. CDC is a superset of CLDC functionality.
- Can I migrate my code from MIDP to CDC?
No. The MIDP GUI APIs are different.
We are investigating a solution for this.
- What are the graphical user-interface options for CDC?
The basic CDC profiles each offer different GUI options.
Foundation Profile
has no GUI support and can be used for "headless"
device scenarios or for supporting a device with a proprietary GUI.
Personal Basis Profile
provides just enough AWT functionality to support lightweight components.
Personal Profile
supports full AWT and applet compatibility.
- What is an xlet?
The xlet application programming model
is very similar to the applet application programming model.
Xlets are loaded into an xlet manager
and controlled through a life cycle interface.
This is similar to how an applet is loaded and run inside a browser.
The main difference is that the xlet application programming model
does not have implicit API requirements like java.applet
which allows it to be used in a greater variety of product scenarios.
- What is the security model for CDC?
CDC uses the same policy-based security model that J2SE provides.
This gives an application fine-grained control
over the access and use of its external interfaces.
- Is CDC compatible with J2SE tools?
Yes. CDC supports J2SE-based compilers, debuggers and profilers.
|
|
 |
|
 |
 |
|
 |