Extended JavaTM Runtime Environment
Each
EJRE is comprised of:
- RTOS/processor ports of
all relevant components that would be included in the RTOS/processor-targeted FJRE (for example,
an RTSJ-compliant EJRE will include the ports of J9VM, FCL, and RTSJCL, but will not include the
JIT compiler); and
- any of the following components needed by Java applications that will be
running on this EJRE:
- IBM's implementations of optional API packages defined for the CDC J2ME Foundation Profile
v1.1 by JSR-219, namely:
- The Java Secure Socket Extension (JSSE) package comprised of J2SE java.net, javax.net,
javax.net.ssl, and javax.security.cert sub-packages.
- The Java Cryptography Extension (JCE) package comprised of J2SE javax.crypto,
javax.crypto.interface, and javax.crypto.spec sub-packages.
- The Java Authentication and Authorization Service (JAAS) package comprised of J2SE
javax.security.auth, javax.security.auth.callback, javax.security.auth.login, and
javax.security.auth.spi sub-packages.
- IBM's Personal Class Library (PCL), which includes the java.applet, java.awt, and java.beans
API packages compatible with the corresponding packages in
J2ME CDC Personal Profile defined
by JSR-216.
The PCL comes with Apogee-created graphical support integrated with the java.awt package of PCL
(PCL.AWT) and based on IBM's UGL (Universal Graphics Library) or the
Standard Widget
Toolkit (SWT) from the Eclipse open platform, whichever is more suitable for use with the
low-level graphics library (LLGL) that comes with the RTOS/processor target platform.
The UGL-based graphical support is comprised of the PCL.AWT-to-UGL mapping layer and UGL modified
to work effectively with the graphical functions of LLGL. The SWT-based graphical support is
comprised of the PCL.AWT-to-SWT mapping layer, SWT widgets modified or re-written to work
effectively with LLGL,and one-to-one mapping from SWT widgets to graphical functions of LLGL.
- IBM's or Apogee's mplementation of Java API packages defined by various J2ME-specific
JSRs (Java Specificaton Requests), for example:
- The RMI (Remote Method Invocation) package defined by
JSR-66, comprised of a subset of J2SE java.rmi classes.
- The JDBC (Java Data-Base Connectivity) package defined by
JSR-169, comprised of a subset of J2SE java.sql
classes.
- The XML Support & Web Services package defined by
JSR-172, that includes a non-validating XML parser, XML-handling
classes, and classes that provide various Web services.
- The API packages supporting wireless communications and "mobile media", such as:
- Bluetooth API defined by JSR-82;
- Wireless Messaging APIs
defined by JSR-120 and
JSR-205;
- Mobile Media API defined by
JSR-135; and
- Mobile Location API defined by
JSR-179.
- IBM's implementation of Sun's Java
Communications (javax.comm) package providing the APIs supporting various communication protocols,
such as SOAP, RS232, RS485, Ethernet, and Firewire.
- IBM's implementation of Sun's JINI package
providing the APIs that facilitate sharing of various devices (for example,
printers, disk drives, etc.) by networked devices having the EJRE running on them.
- The Java Data-Base Enabler ("JDBE") utility that allows the use of the JDBC package for a wider
range of data bases (for example, Oracle databases).
- The "client-side" runtime supports ("runtimes") for various server-client services, obtained from
IBM, other Apogee's partners, or providers of open-source Java software, as long as each such runtime
only uses the Java APIs in the class libraries and implementations of JSR packages included in a given
EJRE. For example:
- Runtimes for the Servlets, Java Server Pages (JSP), and Java Message Server (JMS) packages from IBM's
Micro Environment Toolkit
for WebSphere Studio (METWS).
- Runtimes for the IPv6 (Internet Protocol Version 6) and SyncML DS & DM protocols, and for
accessing IBM's DB2 Everyplace and DB2 Cloudscape databases, all from METWS.
- One of the following two runtimes for the OSGi platform:
- IBM's Service Management Framework
(SMF) runtime.
- mBedded OSGi Framework from ProSyst Software providing the
client-side support for ProSyst's implementation of the OSGi platform designed specifically for
embedded systems.
- One of the following two runtimes for CORBA:
- The ORBexpress CORBA runtime from Objective
Interface Systems.
- The OpenFusion RT CORBA runtime from
PrismTech Corporation.
- IBM's
WRDI
(WebSphere RFID Device Infrastructure) RFID runtime.
- The application-level packages from IBM or providers of open-source Java software, as long as each
such package only uses the Java APIs in the class libraries and implementations of JSR packages
included in the EJRE. For example:
- The Java Server Pages (JSP) package from IBM's
METWS.
- The Xerces XML validating parser from Apache.org.
- The DOM.Xpath package from
W3.org.
Each EJRE is still compatible with Sun's
CDC
J2ME platform, which means that it can pass all tests in Sun's J2ME TCK test suites for the CDC VM,
Foundation Profile, other relevant profiles, and relevant JSRs. For example, an EJRE that includes the
ports of PCL and RMI package can also pass all tests in Sun's J2ME TCK test suites for the Personal
Profile and JSR-69 RMI package.