APHELION JREs (JavaTM Runtime Environments)

Aphelion JREs are advanced software middleware facilitating reliable and high performance execution of bytecode JAR files of Java applications on devices based on embedded systems.

Aphelion JREs are based on Java technologies licensed by Apogee from IBM, which are enhanced by Apogee for effective use on a wide range of devices and for fast execution of all kinds of Java applications targeted at such devices. These Java technologies include:

  • The reference implementations (RIs) of J9 Java Virtual Machine (J9VM) compatible with Sun's J2ME CDC "HotSpot" VM.
  • The advanced Just-in-Time (JIT) compiler integrated with the J9VM.
  • The Java class libraries compatible with corresponding Sun's J2ME Java API "Profiles", such as, for example, the Foundation Class Library (FCL) compatible with Sun's J2ME Foundation Profile.
  • Clean-room implementations of various Java API packages defined by J2ME Java Specification Requests (JSRs).
  • Client-side runtime supports ("runtimes") for various client-server services, such as, for example, a database enabler runtime for IBM and Oracle databases.
Each JRE is created for a customer-requested OS/processor platform by porting to this platform the J9VM, JIT compiler, and other IBM Java technologies, and by adding the OS/processor ports of customer-requested optional components from Apogee's extensive offering of such components (the most extensive among the providers of JREs for devices based on embedded systems). Then, the resulting JRE is thoroughly tested with appropriate Sun's J2ME TCK test suites and other relevant test suites (for example the J2SE MAUVE test suite), and extensively tuned for the highest possible runtime performance on popular benchmarks (EEMBC benchmarks, for example) and customer's Java applications.

Main features of Aphelion JREs

Aphelion JREs offer the following main features not offered in their entirety by JREs from other providers, including Sun and IBM:

  • Facilitate reliable deployments of Java applications, with exceptional runtime performance, on many types of devices based on popular processors running Linux or other commonly used operating systems (OSs).

  • Available in two main configurations, each of which can be customized for the specific needs of Apogee's customers:
    • Micro Edition JREs (ME JREs) compatible with Sun's J2ME platform.
    • Standard Edition JREs (SE JREs) compatible with Sun's Java 5 (J2SE 1.5) platform or with customer-requested subsets of Java 5 platform. Note that SE JREs compatible with Sun's Java 6 (J2SE 1.6) platform will be available in near future.

  • Every ME or SE JRE is comprised of OS/processor ports of the same J9VM and JIT compiler. This means that Apogee can provide outstanding technical support for ME and SE JREs at a very reasonable cost.

  • Each ME JRE is comprised, in addition to the ports of J9VM and JIT compiler, of the OS/processor ports of the following components:
    • IBM's Foundation Class Library (FCL) compatible with Sun's latest J2ME CDC Foundation Profile.
    • Customer-requested optional components from IBM, Apogee, or providers of open-source Java software, each of which is compatible with Sun's J2ME CDC or CLDC platform.
    The compatibility with Sun's J2ME platform means that every ME JRE can be certified as compliant with Sun's J2ME platform, which, in turn, means that the devices having the JRE installed on them can have the 'steaming coffee cup' logo and/or 'Java Powered' slogan.

  • Each SE JRE is comprised, in addition to the ports of J9VM and JIT compiler, of the OS/processor ports of the following components:
    • The Java 5 compatible Harmony class library from Apache.org, or a subset of API packages from Harmony needed by customer's Java applications, or by requested optional components (see below), or because of the manner in which the SE JRE will be used.
    • Customer-requested optional components from IBM, Apogee, or providers of open-source Java software, each of which can use any Java 5 compatible API packages from the Harmony class library.
    • A 'glue' layer of special Apogee-created Java classes that make the Java 5 compatible APIs from Harmony work with the port of J2ME compatible J9VM.

  • Each SE JRE accepts and runs the JAR files of Java applications in Java 5 format, and can include the support for and implementations of various Java 5 features provided in one of the following sets:
    • The Basic set includes: (i) fully supported Enhanced 'for Loop', Autoboxing/Unboxing, Static Import, and Varargs; and (ii) partially supported Typesafe Enums, Generics, Reflections, Assertions, and Annotations/Metadata. Note that a partial support for a given feature does not include the underlying support that would be provided by a port of J9VM for the full support. For example, the partial support of assertions means that each assertion is accepted but is not acted upon by a port of J9VM.
    • The Full set includes: (i) all that is included in the Basic set; (ii) the ports of java.lang, java.util, java.rmi, java.jdbc, and other relevant API packages from Harmony; and (iii) fully supported JAXB (Java Architecture for XML Binding adopted from Sun's open-source Glassfish project) and Reflections (needed by JAXB APIs).
    • The Expert set includes: (i) all that is included in the Full set; (ii) fully supported Assertions, and Annotations/Metadata; and (iv) fully supported remaining Java 5 features requested by a customer, such as Typesafe Enums, Generics, Assertions, Extended Math, Annotations/Metadata, Process builder, Formatter, High precision timing, etc.

  • Apogee can create the ME and SE JREs for devices based on many OS/processor platforms.
    Specifically, the "OS" can be any of the following:
    • Commercially offered 'embedded' Linuxes (Wind River's Commercial Grade Linux, MontaVista Linux, BlueCat Linux, TimeSys Linux, etc.), Linuxes from open-source providers (Debian Linux, Deng Linux, OpenWRT, etc.), and 'in house' implementations of recent Linux kernels (2.4.x and higher).
    • Enterprise Linuxes (RedHat Linux, RedHat MRG Linux, SUSE Linux, etc.).
    • Windows Mobile 5.x and 6.x; Windows CE 4.x, 5.x, and 6.x.
    • VxWorks 5.x and 6.x.
    • LynxOS 4.x and 5.x; QNX Neutrino 6.x; Integrity 4.x and 5.x.
    • Popular UNIX OSs (BSD UNIX, for example.

    The "processor" can be any of the following depending on the OS running on the processor:
    • x86, PowerPC, ARM, XScale, MIPS, or SH4 processors running any Linux.
    • x86, ARM, or XScale processors running Windows Mobile or Windows CE.
    • x86, PowerPC, ARM, XScale, or MIPS processors running VxWorks.
    • x86, PowerPC, or MIPS processors running LynxOS, Neutrino, Integrity, or BSD UNIX.

  • The ME and SE JREs are highly suitable for deployment of Java applications on many types of devices based on embedded systems. Specifically, after Apogee licensed IBM's Java technologies in 2003, it created at least one JRE for each of the following types of devices (over 50 JREs in total, more then other licensees of IBM's java technologies combined):
    • Wireless communication devices (cell phones and other 'hand-helds', telemetric devices, navigational and global positioning systems, etc.).
    • Electronic consumer appliances (smart phones, PDAs, set-top boxes, residential gateways, etc.).
    • Internet devices (residential hubs, routers, distributed servers, etc.).
    • RFID readers, 'edge' servers, and premises servers.
    • Industrial devices (sensors, monitors, controllers, gateways, robots, etc.).
    • Devices used in distributed enterprise management systems.
    • Point-of-sale terminals including those with color touch-screens, and premises controllers of such terminals.
    • Telematics and infotainment devices.
    • In near future, safety and mission critical devices (Apogee is a member of JSR-302 expert group defining the Safety Critical Java Technology).

  • ME and SE JREs are also highly suitable for deployment of all kinds of Java applications including the following:
    • Large and/or complex applications for sophisticated devices, such as set-top boxes, residential gateways, Internet routers, Telematics and Infotainment devices, etc.
    • Applications compatible with the Java 5 platform.
    • Applications that use the Java 5 features.
    • Applications the components of which are available in form of dynamically loaded OSGi R3 or R4 bundles.
    • Applications that use client-side runtimes and/or application-level packages from Apogee's extensive offering of such runtimes and packages.
    • Applications that use all kinds of graphics, including the J2SE Java2d and Java3d graphics and the graphics created with Sun's Swing widget toolkit.
    • Applications that use extensively the C/C++ native methods.
    • Applications that need fast access to the Internet.
    • Applications that come in form of CORBA objects.
    • Real-time Java applications and, in near future, safety-critical Java applications.

Additional features and enhancements of ME and SE JREs

In addition to the above main features, the SE and ME JREs come with other valuable features and enhancements, which have made Apogee's JREs the best choice among JREs from other providers for deployment on advanced devices and for running large and/or complex Java applications targeted at such devices.

  • Each ME or SE JRE can be provided in a 'development' configuration that is highly suitable for creating, testing, debugging, and performance tuning Java applications. Specifically, each development JRE effectively supports and facilitates:
    • Remote (from a Windows/x86 or Linux/x86 development platform) debugging and profiling of Java applications during runtime execution of their JAR files on the development JRE.
    • Tracing of Java heap allocations, garbage collections, and executions of Java threads.
    • Dynamic dumping of Java heap or selected portions of Java heap.
    The obtained tracing and dumping information can be used to minimize the heap allocations and garbage collections, and to reduce the multi-threading overhead.

  • Each SE JRE can be provided in a 'generic' configuration suitable for deployment on several types of devices that require distinct subsets of Java 5 or 6 API packages. Specifically, each generic SE JRE includes a port of the entire Harmony class library or the largest subset of possibly needed Java API packages from Harmony, and comes with special tool for creating its 'instantiations', each of which only has the port of a subset of Harmony APIs that are actually needed by Java applications targeted at a given type of devices.

  • Each ME or SE JRE can be provided in a configuration compliant with the Real-Time Specification for Java (RTSJ) and, in near future, with the Safety Critical Java Technology (SCJT) being defined by JSR-302, in which case:
    • It also includes the OS/processor port of Apogee's RTSJ Class Library (RTSJCL) with the performance tuned implementations of RTSJ features that do not have to be implemented in a Java VM.
    • Its port of J9VM includes Apogee's performance-tuned implementations of RTSJ features that must be implemented in a Java VM.
    • It comes with Apogee's JAOT (Just-Ahead-of-Time) compiler instead of the JIT compiler, which is based on IBM's JIT compiler technology enhanced by Apogee for the 'just ahead of time' execution (execution during the J9VM start-up time).

  • Each ME or SE JRE can be provided in a configuration customized for runtime execution on multi-core processors, in which case:
    • Its port of J9VM concurrently executes the multiple Java threads of a given Java application on multiple cores of the target processor.
    • Its JIT compiler produces native (binary) methods for bytecode methods in multiple Java threads, which are concurrently executed on multiple cores of the target processor.
    • The interpreter loop of its port of J9VM and the code generator of its JIT compiler are adapted to work effectively with the multi-threading support provided by the OS.

  • For memory-constrained devices, each ME or SE JRE can be provided in a configuration that can be executed from the flash memory (the XIP execution), as long as a given device has a sufficiently large flash memory with sufficiently fast access time, and the OS running on the device supports the XIP execution.

  • IBM's J9VM technology the port of which is included in every ME or SE JRE has been enhanced by Apogee in the following important areas:
    • Its class loader loads more rapidly the JAR files of large Java applications having many Java classes and/or using many C/C++ written native methods.
    • Its JNI (Java Native Interface) invokes more rapidly the C/C++ native methods of Java applications targeted at the JRE and rapidly passes the arguments to/from such methods using the Apogee-added 'fast path' through the JNI.
    • Its bytecode verifier can be turned off in each deployment-ready JRE after the JAR files of all Java applications that will be running on the JRE were verified for correctness.

  • IBM's advanced JIT compiler technology the port of which is included in every and ME and SE JRE (except in case of each RTSJ compliant ME or SE JRE, which has a port of Apogee's JAOT compiler based on IBM's JIT compiler technology) has been enhanced by Apogee in the following important areas:
    • The compiler-produced native (binary) methods are in a 'direct JNI format', which allows their rapid invocation and native execution on the underlying target processor.
    • Its code generator in each port of the JIT technology is optimized to produce the most effective native (binary) code for execution on a given target processor.
    • The JIT technology used in the JAOT compiler also includes a special Apogee-invented 'fuzzy logic' capable of identifying those bytecode methods in each JAR file about to be executed on a given ME or SE JRE that are most suitable for compilation into native (binary) methods.

  • Each ME or SE JRE can be provided with IBM's JLink tool capable of:
    • Analyzing the uses of Java classes and methods in JAR file(s) of a given Java application and in JAR files of Java-written components of JRE (the JAR files of FCL or Harmony, for example).
    • Removing from each such JAR file the Java classes that are not actually used.
    • Removing the bytecode methods that are not actually used from each remaining class.
    • Optionally, creating a single ROMable image, which has only the actually used Java classes of the application and JRE components, and which also includes the executable files of ports of J9VM, JIT compiler, and all other components of the JRE.

  • The 'production quality' release of every ME or SE JRE can optionally be provided with outstanding technical support and maintenance for a very reasonable fee. This support and maintenance covers the following:
    • Timely fixes of bugs and other problems found in JRE components based on IBM's Java technologies or created by Apogee.
    • Timely fixes of bugs and other problems found in ports of components obtained from providers of open-source Java software that cannot be fixed by such providers in reasonable time frames.
    • 'Work-arounds' for critical bugs that cannot be fixed in 48 hours.
    • Bug fixes for bugs found in similar JREs by other Apogee's customers.
    • Updates and minor new releases for the components of JREs based on IBM's Java technologies or created by Apogee. The major new releases of components based on IBM's Java technologies or created by Apogee, as well as the updates and all new releases of components obtained from providers of open-source Java software, can be provided for the additional support fee.
    • Advice on most effective use of each JRE, and on tuning its JIT/JAOT compiler for the best possible runtime performance on customer's Java applications.
Optional components of ME JREs

Each ME JRE can be provided with OS/processor ports of the following optional components:

  • Additional J2ME-compatible Java class libraries from IBM. For example, the Personal Class Library (PCL) compatible with Sun's J2ME Personal Profile.
  • IBM's and Apogee's implementations of Java API packages defined by J2ME Java Specification Requests (JSRs). For example: IBM's implementation of JSR-172 XML Support & Web Services package or Apogee's implementation of JSR-82 Bluetooth API.
  • Client-side 'runtimes' from IBM or providers of open-source Java software and IBM, as long as each such runtime only uses the J2ME-compatible class libraries and API packages included in a given ME JRE. For example, the Equinox OSGi R4 runtime from Eclipse eRCP (embedded Rich Client Platform).
  • Application-level packages from providers of open-source Java software, as long as each such package only uses the J2ME-compatible class libraries and API packages included in a given ME JRE. For example: the log4j package from Apache.org.
Specifically, the optional components available for ME JREs are as follows:
  • Java class libraries:
    • IBM's Personal Class Library (PCL) of java.applet, java.awt, java.beans, java.rmi, and javax.microedition.xlet API packages compatible with the corresponding packages in Sun's latest J2ME CDC Personal Profile;
      OR
      IBM Personal Basis Class Library (PBCL) of java.awt, java.beans, java.rmi, and javax.microedition.xlet API packages compatible with the corresponding packages in Sun's latest J2ME CDC Personal Basis Profile.

      The OS/processor port of PCL or PBCL comes either with a port of IBM's Universal Graphics Library (UGL), or a port of eSWT (embedded Software Widget Toolkit) from Eclipse eRCP, each of which provides a transition layer between the java.awt APIs of PCL or PBCL and the graphical functions of a low-level graphics library (LLGL) that comes with a given OS. For example, most Linuxes come with the GTK-2 LLGL coupled with the X-Server LLGL. The ports of eSWT are included for OSs not yet targeted by UGL.

    • IBM's JxComm library providing the APIs for serial and parallel communications, compatible with Sun's J2ME Javax.comm API.

  • IBM's implementations of API packages defined by JSRs targeted at the J2ME CDC platform. For example:
    • JSSE (Java Secure Socket Extension, JCE (Java Cryptography Extension), and JAAS (Java Authentication and Authorization Service) optional packages of the Foundation Profile.
    • JSR-66 RMI package.
    • JSR-169 JDBC package that optionally comes with IBM's Database Enabler runtime.
    • PKI, CRYPTO, and APDU pkgs from JSR-177 Security & Trust Services API (SATSA).
    • JSR-172 XML Support & Web Services package.

  • Apogee's implementations of API packages defined by JSRs targeted at the J2ME CDC or CLDC platform. For example:
    • JSR-82 Bluetooth API augmented with a fast native interface for implementing Bluetooth APIs on 'top of low' level Bluetooth stacks that come with targeted devices.
    • JCRMI package from SATSA.

  • IBM's implementations of JSR packages defined by JSRs targeted at the J2ME CLDC platform, adapted by Apogee for use with the J2ME CDC-targeted ME JREs. For example:
    • JSR-120 and JSR-205 Wireless Messaging APIs.
    • JSR-135 Mobile Media API.
    • JSR-179 Mobile Location and JSR-238 Mobile Internalization APIs.

  • Client-side runtimes:
    • The Equinox OSGi R4 runtime from Eclipse eRCP.
    • Other runtimes from eRCP, such as the Configuration Admin Service and Extension Point Framework.
    • The OpenFusion CORBA runtime from PrismTech.
    • Jakarta commons-lang, commons-logging, and xml-commons-external runtime from Apache.org.
    • The RFID runtime from IBM's RFID Data Capture and Delivery product offering.
    • Runtimes for various services from IBM's Micro Environment Toolkit for WebSphere Studio or WebSphere MQ (Servlets, SyncML DS&DM protocols, etc.).
    • The IPv6 (Internet Protocol Version 6) runtime from IBM's WebSphere MQ.
    • MQTT (MQ Telemetry Transport) runtime from IBM's WebSphere MQ.
    • Message MicroBroker runtime from IBM's Lotus Expeditor DE (Desktop Edition).

  • Application-level packages:
    • Xerces XML validating parser from Apache.org.
    • Log4j from Apache.org.
    • Jakarta-regexp implementation of regular expressions from Apache.org.
    • Picollo, a small and fast XML parser from piccolo.sourceforge.net.
    • Jaxen, an event-based X-path parser from jaxen.codehaus.org.
    • Dom4j, an effective and compact XML framework from dom4j.org.
    • Ristretto, a low level Java Mail package from columbamail.org.
    • Xsdlib, a multi-scheme XML validator from Sun's open-source msv.dev.java.net.
    • JMS (Java Message Server) from IBM.

    Optional components of SE JREs

    Each SE JRE can be provided with the OS/processor ports of the following optional components:

    • Client-side runtimes from providers of open-source Java software, IBM, or other Apogee's partners, each of which can use the ports any Java 5 compatible APIs from Harmony. For example, the J2SE-level Equinox OSGi R4 runtime from Eclipse.org, or the real-time CORBA runtime from PrismTech.
    • Application-level packages from providers of open-source Java software, IBM, or other Apogee's partners, each of which can use the ports of any Java 5 compatible APIs from Harmony. For example, the Tomcat servlet container from Apache.org, or Jetty web server from Mortbay.org.
    • Implementations of Java API packages defined by J2ME JSRs, if there is no API package in Harmony corresponding to a given JSR-defined package, or if the corresponding Harmony package has significantly lower performance. For example, Apogee's implementation of the JSR-82 Bluetooth API.

    Specifically, the optional components available for SE JREs are as follows:
    • All the client-side runtimes and application-level packages available for ME JREs. (See above.)
    • Tomcat Servlet Container from Apache.org.
    • Jetty web server from Mortbay.com.
    • DOM.Xpath packages from W3.org.
    • JSP (Java Server Pages) package and runtime from Sun's open-source Glassfish webtier.

    Support for graphics by ME and SE JREs

    Each graphics-supporting ME JRE includes:

    • A port of IBM's PCL or PBCL with its J2ME CDC-compatible java.awt package.
    • Either a port of IBM's Universal Graphics Library (UGL) or, in case of the OS that is not yet supported by UGL, a port of eSWT (embedded Software Widget Toolkit) from Eclipse eRCP.

      UGL as well as eSWT provides a transition layer between java.awt APIs of PCL or PBCL and low-level graphics library (LLGL) that comes with the OS/processor platform targeted by ME JRE, such as: GTK2 coupled with X-Server that comes with most Linuxes, GDI that comes with Windows Mobile or Windows CE, or OpenGL. Note that UGL is more suitable than eSWT for retargeting at various LLGLs, and each of its ports is optimized by Apogee to work effectively with the graphical functions of a given LLGL.

      Each port of eSWT includes: (i) Apogee's 'front-end' layer that makes the eSWT widgets work more effectively with the java.awt APIs of PCL or PBCL; and (ii) Apogee's fast mapping from eSWT widgets to graphical functions of a given LLGL.

    The resulting 'AWT --> UGL --> LLGL' or 'AWT --> eSWT --> LLGL' graphical stack is tuned for the highest possible performance on graphical parts of customer's Java applications.

    Each graphics-supporting SE JRE includes:

    • Ports of java.awt and Java2D packages from the Harmony class library.
    • Ports of javax.swing and java.nio packages from Harmony, if the Java applications that will be running on the JRE have the graphics created with Sun's Swing widget toolkit.
    • Either a port of X-Server LLGL provided by a customer or created by Apogee, or a DirectFB runtime library (RTL) provided by a customer.

    The ports of java.awt, Java2D, and (if used) javax.swing Harmony packages are enhanced to work effectively with the port of X-Server or DirectFB RTL, and the resulting 'AWT --> X-Server' or 'AWT --> DirectFB' graphical stack is tuned for the highest possible performance on graphical parts of customer's Java applications.

    Please note that Apogee's graphics-supporting SE JREs are the first and, thus far, the only ones that have the high-level java.awt, Java2D, and (if used) javax.swing packages from Harmony working directly with the DirectFB RTLs.

    RTSJ-compliant ME and SE JREs

    Each ME or SE JRE can be provided in a configuration compliant with the Real-Time Specification for Java (and certified as such by the RTSJ expert group), in which case:

    • It includes a port of Apogee's RTSJ class library providing the performance-optimized implementations of RTSJ features that do not have to be implemented in a Java VM.
    • It comes with Apogee's JAOT compiler based on IBM's JIT compiler technology, to which Apogee added a special 'fuzzy logic' for finding such bytecode methods in each Java application about to be executed on the JRE that are most suitable for compilation into native methods. Note that the JAOT compiler is essentially a JIT compiler invoked during the J9VM start-up time. It is used instead of the JIT compiler, which is too non-deterministic for use in RTSJ-compliant JREs.
    • Its port of J9VM includes:
      • Apogee's performance-tuned implementations of RTSJ features that must be implemented in a Java VM (for example, handling of scoped memories).
      • Apogee's real-time garbage collector, which is more effective then the Metronome real-time garbage collector that comes with IBM's RTSJ-compliant J2SE-compatible JREs.
    • Its ports of all other components are enhanced for RTSJ compliance.

    Apogee's RTSJ-compliant ME JREs are the only ones targeted at devices based on embedded systems that have been officially certified by RTSJ expert group as compliant with RTSJ.

    ME and SE JREs for multi-core target platforms

    Each ME or SE JRE can be upgraded to effectively execute multi-threaded Java applications on multiple cores of a given target processor. Specifically:

    • Its port of J9VM concurrently executes the parallel Java threads of a given application on available cores of the target processor.
    • Its JIT or JAOT compiler produces binary forms of suitable Java methods in parallel Java threads of a given application, which are executed concurrently on available cores of the target processor.
    • The interpreter loop of its port of J9VM has been enhanced for:
      • Minimizing the overhead of starting and terminating the Java threads, and communicating between the threads during their execution.
      • Minimizing the garbage collection overhead by 'pre-collecting' garbage on the processor cores that are not fully utilized by running parallel threads.
      • Working effectively with the underlying multi-threading support of a given OS, and minimizing the overhead of switching among the multiple processor cores.
    • The code generator of its JIT or JAOT compiler has been enhanced for producing native code that works effectively with the underlying multi-threading support of a given OS.

    ME and SE JREs for RFID devices

    Each ME or SE JRE can be provided in a configuration allowing its effective use on RFID readers and 'edge' servers. Specifically, each RFID-supporting ME JRE includes, at the least, the OS/processor ports of the following components:

    • J9VM, JIT compiler, FCL, and implementations of JSSE, JCE, JAAS, and Web Services API packages.
    • RFID runtime from IBM's RFID Data Capture and Delivery product offering that facilitates various RFID functions on the devices it is running on.
    • Apogee's LLRP adaptor that facilitates the use of Java applications conforming to LLRP (Low Level Reader Protocol), a common I/O protocol defined for the RFID devices by EPC Global consortium.
    • Equinox OSGi R4 runtime from Eclipse eRCP.
    • IBM's JxComm class library facilitating serial and parallel communications to/from the device having the JRE installed on it.

    Each RFID-supporting SE JRE includes, at the least, the OS/processor ports of the following components:
    • J9VM, JIT compiler, and a subset of Harmony providing: (i) API packages equivalent to J2ME JSSE, JCE, JAAS, and Web Services API packages; and (ii) API packages needed by IBM's RFID runtime, namely java.io, java.lang, java.net, java.security, java.text, and java.util.
    • RFID runtime from IBM's RFID Data Capture and Delivery product offering.
    • Apogee's LLRP adaptor that facilitates the use of Java applications conforming to LLRP.
    • Equinox OSGi R4 runtime from Eclipse eRCP.
    • IBM's JxComm class library facilitating serial and parallel communications to/from the device having the JRE installed on it.
    Please, contact Apogee by email or phone for more information on features and capabilities of Aphelion JREs.

Home | Corporate Info | Products | Download | Order | News | Resellers






Google
www.apogee.com Web