|
|
|
|
APHELION
TM
Aphelion is a comprehensive software offering for developing and deploying Java applications
targeted at many types of devices based on embedded systems, from wireless communication devices
and electronic consumer appliances to industrial, telematics, and infotainment devices.
Aphelion is comprised of Java Runtime Environments (JREs) and
Java Development Environments (JDEs) based on Java technologies licensed
by Apogee from IBM, which are augmented with technologies obtained from providers of open-source
Java software or developed by Apogee according to the needs of Apogee's customers.
Aphelion JREs are created for RTOS/processor platforms requested by Apogee's customers (for example,
the eLinux/x86 platform comprised of an x86-based processor running one of the "embedded" Linuxes)
by porting to each such platform IBM's J2ME-compatible J9 Virtual Machine (J9VM) and commonly used
Java class libraries. Then, Apogee customizes each JRE for the specific needs of a given customer by
adding to it the RTOS/processor ports of customer-requested optional components, such as the
implementations of Java API packages defined by J2ME-specific
Java Specification Request (JSRs), client-side
"runtimes" for various client-server services, and application-level packages. Finally, Apogee
tunes the resulting JRE for high runtime performance and small runtime footprint when running
customer's Java applications and thoroughly tests it with relevant J2ME TCK (Technology
Compatibility Kit) test suites.
For example, Apogee can include in a given JRE the XML Support & Web Services package defined by
JSR-177, the OSGi runtime from
Eclipse Equinox OSGi R4 Framework, and the
Tomcat servlet container application-level package from
Apache.org.
The basic Java technologies used in Aphelion JREs, such as the CDC
(Connected Device Configuration) and CLDC (Connected Limited Device Configuration) compatible Java
VMs, Java class libraries, and implementations of Java API packages defined by various
J2ME-specific JSRs, come from IBM's
WebSphere Everyplace Micro Environments (WEMEs) compatible with Sun's
J2ME platform. Additional technologies needed for specific
JREs come from IBM's WebSphere
Everyplace Custom Environments (WECEs), or from providers of open-source Java software. Some
technologies (for example, implementation of the Bluetooth API defined by JSR-82) have been
created by Apogee.
Features of
Aphelion JREs
Aphelion JREs are available in four configurations: Mobile device JREs (MJREs), Foundation JREs
(FJREs), Extended JREs (EJREs), and Custom JREs (CJREs).
Each MJRE is comprised of RTOS/processor ports of IBM's
J9VM compatible with Sun's J2ME CLDC VM v1.1 defined by
JSR-139, and IBM's Mobile Device Class Library (MDCL) compatible with J2ME MIDP2 (Mobile
Information Device Profile v2) defined by JSR-118.
Each MJRE also includes IBM's RTOS/processor- targeted micro JIT (Just-In-Time) compiler integrated
with the port of J9VM, and can include customer requested RTOS/processor ports of IBM's or Apogee's
implementations of API packages defined for mobile devices by various JSRs, such as the Bluetooth
API defined by JSR-82, Mobile Media API defined
by JSR-135, Security and Trust Services API defined
by JSR-177, Mobile Location API defined by
JSR-179, Wireless Messaging API defined by
JSR-205, Mobile Internalization API defined by
JSR-238, etc..
Every MJRE is compatible with Sun's J2ME CLDC
Platform, which means that it can pass all tests in J2ME TCK (Technology Compatibility Kit)
test suites for the CLDC VM, MIDP2, and API packages defined by J2MR CLDC JSRs the ports of which
are included in this MJRE.
Each FJRE is comprised of RTOS/processor ports of
IBM's J9VM compatible with Sun's J2ME CDC VM v1.1 defined by
JSR-218, and IBM's Foundation Class Library (FCL)
compatible with Sun's J2ME CDC Foundation Profile v1.1 defined by
JSR-219. Each FJRE also includes IBM's
RTOS/processor-targeted JIT compiler integrated with the port of J9VM, and can include customer
requested RTOS/processor ports of optional API packages defined for CDC Foundation Profile v1.1 by
JSR-219, namely: the Java Secure Socket Extension
(JSEE), Java Cryptography Extension (JCE), and Java Authentication and Authorization Service (JAAS)
packages.
Every FJRE is compatible with Sun's J2ME CDC
Platform, which means that it can pass all tests in J2ME TCK test suites for the CDC VM
and Foundation Profile.
Each EJRE is comprised of RTOS/processor ports of IBM's
J9VM compatible with Sun's J2ME CDC VM and integrated with the RTOS/processor-targeted JIT compiler,
and IBM's FCL compatible with Sun's J2ME CDC Foundation Profile v1. In addition, each EJRE
can include the ports of any of the following components requested by a given customer:
- IBM's Personal Class Library (PCL) compatible with the J2ME CDC Personal Profile v1.1 defined by
JSR-216. If the Java applications targeted at a
given EJRE use the Java AWT graphics, then the port of PCL comes with a port of IBM's UGL (Universal
Graphics Library), or a port of SWT (Software Widget Toolkit) from the Eclipse Open Platform, each
of which provides a transition layer between the graphical APIs of java.awt package of PCL and
graphical functions of a low-level graphics library (LLGL) that comes with a given RTOS. The
selection of the port of UGL or SWT depends on LLGL. For example, the ports of UGL are used with
the GTK2 LLGL that comes with "embedded" Linuxes, or GDI LLGL that comes with Windows Mobile and
Windows CE. The ports of SWT are used with the WinML LLGL that comes with Wind River's VxWorks.
- IBM's implementations of Java API packages defined for the J2ME CDC platform by various
JSRs, such as the RMI Package defined by
JSR-66, the JDBC Package defined by
JSR-169, the XML Support & Web Services Package defined by
JSR-172, etc..
- IBM's implementations of Java APIs for various utility functions that are not defined by
J2ME CDC JSRs, but are compatible with the J2ME CDC platform because they only use the Java APIs
defined by CDC-compatible class libraries and API packages. For example: the JXComm package
compatible with Sun's Java Communications API,
which supports various protocols for serial and parallel communications; or the JINI package
compatible with Sun's JINI Network Technology,
which facilitates dynamic networking of devices used by Java applications running on EJREs.
- Client-side runtime supports ("runtimes") for various server-client services, as long as each
such runtime only uses the Java APIs from the class libraries and API packages included in a given
EJRE. For example: the OSGi runtime from Eclipse Equinox
OSGi R4 Framework; RFID runtime from IBM's RFID Data Capture and Delivery product offering;
ORBexpress CORBA runtime from Objective
Interface Systems; log4j runtime from Apache.org;
etc..
- Application-level packages from IBM or providers of open-source Java software, as long as
each such package only uses the Java APIs from the class libraries and API packages included in a
given EJRE. For example: JMS (Java Message Server) from IBM's
Micro Environment
Toolkit for WebSphere Studio (METWS); Java
Server Pages (JSP) package from Sun's open-source "Glassfish" webtier;
Xerces XML parser from Apache.org;
DOM.Xpath package from
W3.org; etc..
Each EJRE can also include the ports of JSSE, JCE, and JAAS optional packages defined for the
J2ME Foundation Profile by JSR-219.
Every EJRE is compatible with Sun's J2ME CDC
Platform, which means that it can pass all tests in J2ME TCK test suites for the CDC VM,
Foundation Profile, other relevant API profiles, and packages defined by J2ME CDC JSRs the
ports of which are included in this EJRE.
Each CJRE is comprised of RTOS/processor ports of:
(i) IBM's J9VM compatible with Sun's J2ME CDC VM and integrated with the RTOS/processor-targeted
JIT compiler; (ii) IBM's FCL compatible with Sun's J2ME CDC Foundation Profile v1.1; and (iii)
either the entire GNU Classpath library of
Java API packages compatible with Sun's J2SE Platform, or
a customer-requested subset of Classpath, if not all the API packages of Classpath are needed by
customer's Java applications and/or by other components of CJRE (by client-side runtimes, for
example). Each CJRE can also include the RTOS/processor ports of the following components:
- Client-side runtimes, including those that need the Java APIs compatible with the J2SE
platform. For example, the runtimes facilitating access to/from certain databases need
J2SE-compatible java.beans, java.sql, and javax.sql packages. All such needed J2SE-compatible
packages are provided by the port of Classpath or a subset of Classpath that comes with a given
CJRE.
- Application-level packages from IBM or providers of open-source, including those that need
the Java APIs compatible with the J2SE platform. For example, the Tomcat Servlet Container
from Apache.org needs J2SE-compatible java.beans, java.nio, javax.naming, javax.net, and
other packages. All such needed J2SE-compatible packages are provided by the port of Classpath or a
subset of Classpath that comes with a given CJRE.
Every CJRE is compatible with the J2SE platform or a subset of J2SE platform to the same extend
to which the port of Classpath or a subset of Classpath included in the JRE is compatible with
the J2SE platform or a corresponding subset of J2SE platform. This is assured by making each CJRE
pass all tests in Mauve test suite or its relevant
subset. Note that Mauve is a very extensive test suite (with over 50,000 tests and sub-tests) used
for testing the compatibility of Classpath with the J2SE platform.
For those customers that need JREs with a high degree of deterministic behavior, such as JREs that
can predictably execute multi-threaded Java applications and significantly reduce or eliminate
unpredictable effects of garbage collection, Apogee can create a configuration of a given FJRE,
EJRE, or CJRE that is compliant with the Real-Time Specification for Java (RTSJ) defined by
JSR-1 and
JSR-282. Apogee is the only provider of Java
runtime environments for embedded systems that offers JREs certified by JSR-1 and JSR-282
expert groups and by JCP (Java Community Process) office as compliant with RTSJ and
J2ME CDCPlatform.
In summary, each JRE effectively facilitates and supports the following activities involved in
deploying Java applications on the RTOS/processor platform targeted by this JRE:
- Running executable forms of Java applications during their development, testing, debugging,
and performance-tuning with Aphelion JDE or other JDE (Eclipse JDE, for example).
- Deployment of executable forms (JAR files) of production-ready Java applications developed
with Aphelion JDE.
- Deployment of executable forms of Java applications created with other JDEs (for example, the
Eclipse JDE), as long as each such application only uses the Java APIs included in agiven JRE.
Features of Aphelion
JDEs
Aphelion JDEs are derived from IBM's
Workplace Client Technology Micro
Edition (WCTME) product family, the relevant components of which, such as the
WebSphere Studio Device Developer
(WSDD) and the Micro Environment Toolkit
for WebSphere Studio (METWS) are included, fully or partially, in each JDE according to the
needs of a given customer. For example, every JDE includes the GUI, file system, project manager,
and various development tools (editors, browsers, Java-to-bytecode compiler, JAR builder, bytecode
debugger, "smart" linker/runtime footprint optimizer, runtime execution analyzer/profiler, etc.)
from WSDD. The target-dependent tools of each JDE (for example, the execution profiler/analyzer)
are retargeted by Apogee at the RTOS/processor platform supported by this JDE.
Each JDE is "remotely" integrated with a corresponding (targeted at the same RTOS/processor
platform) JRE through a special plug-in interface, which allows the use of JDE GUI to remotely
start and control the execution of the JRE on the RTOS/processor target platform connected to the
host platform of JDE and remotely debug each Java application running on the JRE. This means that
each JDE and the corresponding JRE comprise a complete cross-development environment suitable for:
- Productive and cost effective development of Java applications targeted at customer's
devices having the JRE installed on them.
- Construction of executable forms (bytecode JAR files) of such applications.
- Remote graphical debugging of executable forms while running on the JRE.
- Testing of executable forms and analyzing their runtime behaviour and performance.
- Tuning the executable forms for fast runtime execution and small runtime footprint.
- Compilation of C/C++ parts of each Java application into the JNI-compliant native methods
and integration of resulting binary files with the JAR files of the application into a complete
executable image.
Apogee can also integrate with each JDE additional customer-provided tools, or commonly used tools
and utilities (for example, the C/C++ compiler, assembler, archiver, etc.) from a toolkit of RTOS
vendor. This integration is accomplished with plug-in interfaces that allow the use of JDE GUI to
invoke and control each such tool or utility.
Aphelion JREs
and JDEs - a Complete Software Solution
Each JRE and the corresponding JDE comprise a complete software solution for all your
Java needs, a solution that you can productively use for developing and deploying all
types of Java applications targeted at embedded systems used in a wide range of devices:
- Advanced wireless communication devices (GPS and telemetric systems, for example).
- Electronic consumer appliances (PDAs, smart phones, pocket PCs, set-top boxes, home
gateways, etc.).
- Industrial devices (monitors, controllers, gateways, etc.).
- Devices used in factory floor automation (robots, sensors, etc.).
- Client devices used in enterprise management and monitoring system.
- RFID readers and "Edge" servers.
- Point-of-sale terminals and other devices used in retailing.
- Telematics and infotainment devices.
Each JRE and the corresponding JDE also bring to you the benefits that made Java highly
successful on desktop and enterprise systems:
- Creation of Java applications in fewer and shorter development cycles compared with
creation of functionally equivalent applications written in other languages.
- Simpler and more reliable runtime deployments of Java applications compared with
deployments of applications written in other languages.
- Less costly technical support and maintenance of deployed applications, especially in
case of applications with long life-spans.
- Distribution of applications in form of target-independent bytecode JAR files
(rather than in form of source code files). Each distributed JAR file can be obfuscated
to prevent its reverse compilation into Java source code.
- Easy migration of developed applications to other target platforms.
The following
picture shows a CJRE and the corresponding JDE that Apogee can provide for the RTOS/process
platform of your choice:

| | |
|
In
"Blue"
Aphelion JDE, in
"RED"
Aphelion CJRE.
Please contact Apogee by phone or
email for more information about Aphelion JREs and JDEs.
We will also be pleased to discuss with you:
- The most effective and least costly strategy on creating the JDE and/or JRE for each of your
RTOS/processor target platforms.
- Customization of each created JRE for your specific needs, for example providing the ports of
additional Java API packages (including the J2SE-compatible packages), client-side runtimes, and
application-level packages.
- The most effective use of each created JRE for deploying your Java applications.
- Licensing of created JDEs and/or JREs for internal use by your organization and/or for
distribution to your customers and other third parties.
Home
|
Corporate Info
|
Products
|
Download
|
Order
|
News
|
Resellers
| |
|
|
|
|