ESF represents a collection of cohesive software components ported to a variety of hardware platforms, providing the customer with a complete and functioning product with associated application development tools.
Java Virtual Machine (JVM), JNI
Application Business Logic, Customer Bundles
Eurotech provides a number of robust hardware platforms, including DuraCor, DuraNav, Cappodocia, etc. The higher-level ESF components are designed to be supported across platforms, independent of board-level differences at the hardware platform level. Low-level hardware drivers and components are provided as part of platform-specific software core of ESF.
Bootloader and/or BIOS for each hardware platform is ported and validated by Eurotech as part of the platform-specific software core. The Bootloader/BIOS provides startup of the Operating System.
Various operating systems are ported to Eurotech hardware platforms and validated. Operating Systems include Wind River Linux, VxWorks, Windows, etc.
The core technology of Everyware™ Software Framework is the Java Virtual Machine (JVM). Java runs in a virtual machine runtime environment and thus runs across all Operating Systems. This provides easy code reuse between systems and applications, for “write once, run anywhere” capability. The Java Native Interface (JNI) provides the hooks for native ‘C’ code interfaces, where custom hardware or performance is required. ESF currently uses the Oracle JVM. |
OSGi originally stood for Open Services Gateway initiative and was designed as a services gateway for set top boxes. In the 10 years of its existence, it has become broadly adopted by industry as a whole and is now just referred to as “OSGi”. OSGi is an Application Framework that provides the environment for running many different application components; installing, starting, stopping, updating, and uninstalling applications dynamically. ESF uses the OSGi implementation from the Eclipse Foundation called “Equinox.” For more information on OSGi, see http://www.osgi.org, http://www.eclipse.org/home/categories/index.php?category=equinox, and http://en.wikipedia.org/wiki/OSGi. |
Foundation BundlesThe ESF Foundation Bundles provide the core functionality for getting started with application development, using documented APIs. This includes |
· Hardware Virtualization (Most applications don’t care what hardware they are running on, so components are written to operate independent of hardware platform.)
· Device Configuration Management
· System Logger (Provides real-time system logging of debug and runtime information.)
· Platform management (Watchdog, CPU Temperature , CPU Throttling, Sleep modes, etc.)
· Management of Network Devices (Ethernet, WiFi, Cellular, Bluetooth, etc.)
· IP Networking (DHCP, Firewall, VPN, Time synchronization, etc.)
As project requirements expand beyond the basic Foundation set of bundles, Eurotech offers targeted vertical market bundles that can provide additional functions and features according to the requirements of the customer. These include a growing set of APIs that are ready to use or to customize for customer applications: |
· GPS – Location tracking, mobile asset management
· Medical Devices
· Passenger Counter
· Terminal Server, Terminal Client – UDP and TCP pass-through to serial devices
· Industrial Protocol (SCADA) Communication (e.g. Modbus)
· MQTT – Publish/subscribe broker technology
ESF is written around standard Java interface APIs that can be easily incorporated into a customer’s business application logic. Many standard implementations are available to use as-is, or customers may choose to re-implement an API according to their unique requirements. They may also choose to add custom sets of bundles that run in addition to Eurotech’s growing set of functional bundles.
However, customer application development does not require the use of ESF. ESF can provide a complete framework and components that can be used for customer development, or it can run in conjunction with completely different applications the customer may develop in any programming language they choose.
The Eclipse IDE (integrated development environment) is the dominant application environment in the industry today. The Eclipse IDE provides ESF with all of the tooling required to develop, test, debug, and package application bundles and to deploy these bundles to the ESF environment on Eurotech’s target platforms. Eclipse provides a rich set of capabilities for writing applications in Java, C, Javascript/AJAX, and many others.
For more information, see http://www.eclipse.org/ |