Apogee's JREs are based on components derived from: (i) Java technologies licensed from IBM, such as the J9 Java VM (J9VM), Just-in-Time (JIT) compiler, and Java class libraries; and (ii) complementary Java technologies obtained from providers of open source Java software, such as the Java class library from Oracle's Java SE 7 OpenJDK.
Apogee creates each JRE by: (i) porting its components to the customer-requested device; (ii) making the ports works with the OS and underlying system software (runtime libraries, drivers, etc.) running on this device; and (iii) customizing the resulting JRE for customer's needs.
After Apogee licensed IBM's Java technologies in 2002, it created many JREs for a wide range of wireless and "connected" devices, including smart phones, tablets, other "hand-helds", point-of-sale terminals, home and industrial gateways, etc..
Apogee can create JREs for most customer requested devices, as long as each such device is based on the ARM or x86 processor running Linux kernel version 3.10 or later. Each JRE can be created in one of the following configurations:
Each MJRE or CJRE can be customized by adding to it ports of optional components from Apogee's offering of such components, which includes: (i) IBM’s Java class libraries and implementations of Java ME JSR packages (available only for MJREs); (ii) "client-side" run-times from providers of open-source Java software (for example, the Equinox OSGi R4 framework and service bundles from Eclipse Foundation), and (iii) “application-level" packages from providers of open-source Java software (for example, Tomcat servlet container from Apache.org).