Find JSRs
Submit this Search

Ad Banner

JSRs: Java Specification Requests
JSR 219: Foundation Profile 1.1

Updates to the Original JSR

The following information has been updated from the original proposal.


Maintenance Lead: Roger Riggs, Sun Microsystems, Inc.

E-Mail Address:

Telephone Number: +1 781 442 0539

Fax Number: +1 781 442 1610


Maintenance Lead: Jonathan Courtney


Telephone Number: +1 408 276 7398

Fax Number: +1 972 235 5727

The name of the JSR was changed from "J2METM Foundation Profile 1.1".

Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1. Identification

Submitting Member: Sun Microsystems, Inc

Name of Contact Person: Hinkmond Wong

E-Mail Address:

Telephone Number: +1 408 276 7618

Fax Number:

Specification Lead: Hinkmond Wong


Telephone Number: +1 408 276 7618

Fax Number:

Initial Expert Group Membership:

Sun Microsystems, Inc.

Supporting this JSR:

Section 2: Request

2.1 Please describe the proposed Specification:

The J2ME Foundation Profile serves two purposes. First, it provides a Profile of the Java 2 Platform, Micro Edition suitable for devices that are a network-enabled Java environment, but do not require a graphical user interface. Second, it provides the base Profile for inclusion by other J2ME Profiles that need to build upon this functionality with the addition of a graphical user interfaces or other functionality.

The J2ME Foundation Profile targets small, resource-constrained devices (such as high-end PDAs, cell phones, TV set-top boxes, auto telematics, and so on) by supporting the following features::

    * Java virtual machine
    * Java language
    * Networking
    * I/O
    * Java 2 Security
    * Text input and display

This new JSR will:

    * Update APIs already present in the J2ME Foundation Profile 1.0 to the definitions in J2SE, v1.4.
    * Add carefully selected additional features or APIs, at the discretion of the expert group, taken from J2SE, v1.4.

Note that while new APIs may be adopted from J2SE, v1.4, no new, non-J2SE APIs are planned for definition in this JSR. J2ME Foundation Profile 1.1 will be backward compatible with J2ME Foundation Profile 1.0.

As part of this JSR, the expert group will also define an optional package comprising the Java Secure Socket Extension (JSSE), Java Cryptography Extension (JCE), and Java Authentication and Authorization Service (JAAS) APIs for use in conjunction with Foundation Profile implementations. The definition of this optional package will be performed in the context of the J2ME Foundation Profile expert group, since its specification will require close coordination with the specification of J2ME Foundation Profile 1.1.

The expert group will also consider a subset of JCE as a possible separate optional package that will support both CLDC and CDC.

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

Java 2 Platform, Micro Edition (J2ME) Foundation Profile / Connected Device Configuration

2.3 What need of the Java community will be addressed by the proposed specification?

Provide a standard Java 2 Micro Edition Profile for devices that do not require a Graphical User Interface (GUI). The J2ME Foundation Profile will also be used as the basis for other profiles that will add GUI as well as other functionality.

    * Increase in total minimum ROM size requirement* over previous J2ME Foundation Profile 1.0 minimum ROM size will be in the range of 128KB to 256KB. (Note that this includes all of J2ME CDC 1.1.)
    * 512KB minimum RAM available *
    * Robust connectivity to some type of network.
    * No graphical user interface, unless the GUI functionality is provided by an additional profile.

(* Application and localization memory requirements are additional.)

2.4 Why isn't this need met by existing specifications?

Updates, to APIs already present in J2ME Foundation Profile 1.0, to their specifications in J2SE, v1.4 are needed to support J2ME Personal Basis Profile 1.1 and Personal Profile 1.1.

Also, J2ME Foundation Profile 1.0 does not currently include certain J2SE, v1.4 features that are required by device manufacturers and application developers. Such features to be incorporated at the discretion of the J2ME Foundation Profile 1.1 expert group, might include:

    * Interfaces for IPv6: new Internet protocol to handle many device addresses (NOTE: IPv6 support is optional, only interfaces for IPv6 are to be specified by this JSR, thus reducing the size requirements)
    * java.math.BigDecimal: Rounds out java.math.* package to provide support for large immutable, arbitrary-precision signed decimal numbers.

2.5 Please give a short description of the underlying technology or technologies:

See section 2.1 for expected underlying device technologies. Foundation Profile provides core non-graphics Java libraries such as support for the Java language, networking, I/O, and utilities.

2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)

The package names for Foundation Profile include:


The package names for the security API optional package include:




2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?


2.8 Are there any security issues that cannot be addressed by the current security model?

None identified at this time.

2.9 Are there any internationalization or localization issues?

Requirements to be decided upon by the expert group developing this specification.

2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?

The specification for J2ME Foundation Profile 1.0 will be superseded by this specification. .

2.11 Please describe the anticipated schedule for the development of this specification.

Community Review Draft: June 2003
Public Review Draft: August 2003
Completion: October 2003

2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.

Consensus-driven, mainly via e-mail, with a private Web site for archiving discussion. We will also be supporting the underlying technology into the JSRs for J2ME Personal Basis Profile 1.1 and Personal Profile 1.1. Because of the tight relationship J2ME CDC 1.1 specification has with J2ME Foundation Profile 1.1 specification, we will create a joint expert group for both of these JSRs and will hold joint meetings, We will do this to ensure that the two JSRs stay tightly synchronized. The expert group will also remain in close communication and cooperation with the Personal Basis Profile 1.1 and Personal Profile 1.1 expert groups.

2.13 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.

The RI and TCK will be delivered as part of this profile work.

2.14 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).

2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.

The TCK and RI will be available for license separately:

* TCK:

    o Annual license access fee providing access to the TCK code updates and upgrades, and basic support.
    o Per unit royalty fee which will be dependent on volume.

* RI:
    o Annual license access fee allowing commercial use of the RI code, as well as providing access to updates and upgrades.
    o Per unit royalty fee which will be dependent on volume.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.

he J2ME Foundation Profile relies on the J2ME Connected Device Configuration (CDC) as its base configuration. J2ME Foundation Profile 1.1 relies on a minimum of J2ME CDC 1.1 specification to be present. Foundation Profile, version 1.0 (JSR-46) Connected Device Configuration, version 1.0 (JSR-36) Java 2 Platform, Standard Edition, version 1.4.

The Java Language Specification, Second Edition,
James Gosling, Bill Joy, Guy L. Steele, and Gilad Bracha.
Addison-Wesley, 2000, ISBN 0-201-31008-2

The Java Virtual Machine Specification, Second Edition,
Tim Lindholm and Frank Yellin.
Addison-Wesley, 1999, ISBN 0-201-43294-3

3.2 Explanation of how these items might be used as a starting point for the work.

Please see section 2.5.