by Robert Andres, Eurotech
Businesses need “off-the-shelf” purpose-built solutions to address interoperability and seamlessly connect, aggregate, filter and share data from the edge of the network to the Cloud. The emergence of a Multi-Service Gateway model, which operates on the edge of an M2M deployment as an aggregator and controller, has opened up new possibilities. IT-centric solutions based on Java can be used to develop a very sophisticated, managed and robust network-connected application in a very short amount of time, with minimal effort and without compromising quality.
Eurotech recently introduced a complex environmental monitoring system with Oracle at Embedded World, the ReliaSENS 18-12, which demonstrates how the right technical building blocks including multi-service gateway hardware combined with standards-based software components can lead to a rugged, reliable M2M system. The use of such technical building blocks can leverage Java to ensure shorter development times, more deterministic development and future-proof M2M applications.
Simplifying Environmental Monitoring with a Multi-Service Gateway
Because many M2M edge devices are complex, an environmental monitoring system provides an excellent example where various sensors and devices must be combined to create a cohesive system. Consider a Cloud-connected environmental monitoring system with high-precision air pollution sensors and real-time data access. The system must be rugged and compact to withstand the elements, and will be designed to monitor traffic, industrial, construction and urban areas for temperature, gaseous pollutants, particulates, electromagnetic fields, radioactivity and sound pollution. Furthermore, it will be built to seamlessly connect to the Cloud and send data from the field to the business application in real time.
The M2M marketplace is full of hundreds of piecemeal technologies that can be cobbled together to form a solution, but complex devices like an environmental monitoring system are best developed using the Multi-Service Gateway approach (Figure 1).
Multi-Service Gateways consolidate multiple business-relevant tasks into an overall application framework.
The Multi-Service Gateway approach minimizes development risk by using off-the-shelf, purpose-built systems and boards designed to meet vertical market value propositions. These hardware elements come with an integrated powerful M2M/IoT software stack that allows the development of the devices business logic in Java. These systems or boards are therefore also suitable platforms to build more complex systems by adding sensors and actuators to create powerful appliances like an environmental monitoring system (Figure 2).
Bringing data from the edge of the network to the enterprise.
Java-Based Application Framework
The Multi-Service Gateway approach solves a number of integration problems and unifies disparate components in the environmental monitoring system. One fundamental building block is an application framework to put a layer between the operating system and the business application on the gateway.
Through the Everyware Software Framework (ESF), Eurotech provides a set of common services for Java developers building M2M applications, including I/O access, data services, network configuration and remote management. Eurotech assures a strong foundation for M2M applications by relying on leading industry partners (Oracle’s Java Embedded Technologies, Hitachi SuperJ OSGi platform) to provide the technology basis for device, network and service abstraction as well as efficient development. The OSGi framework is a module system and service platform for the Java programming language that implements a complete and dynamic component model, something that does not exist in standalone Java/VM environments.
The benefits of IT-centric application development using ESF (Figure 3) to implement business logic in smart edge devices / service gateways include simplifying application development for smart M2M Multi-Service Gateways and smart edge devices as well as optimizing portability across systems and hardware architectures. It greatly improves local and remote management of both devices and applications and enables native M2M platform integration by means of Everyware Cloud and Message Queuing Telemetry Transport
ESF developer experience: designed from the ground up for developers.
Oracle Java Embedded is beneficial for application code development in connected devices such as the environmental monitoring system because it provides a robust software infrastructure for service delivery platforms. This enables easy code development through software simulation before porting onto the embedded devices thus reducing time-to-market.
Using an OSGi-based container on top of a Java Virtual Machine simplifies application development and optimizes portability across systems and hardware architectures should the need arise in the future.
ESF is a general-purpose, secure and managed framework that leverages OSGi and supports the deployment of extensible and downloadable applications known as “bundles.” Bundles can be downloaded, installed, started, stopped, monitored and uninstalled on the fly, even while other applications are running. Hitachi’s SuperJ Applications Ecosystem is a framework for the OSGi Service Platform that facilitates the modularization of software components and applications and assures interoperability of applications and services over a variety of M2M devices. SuperJ offers additional benefits such as the ability to deploy multiple versions of a module concurrently on a Multi-Service Gateway.
ESF offers many additional elements including simple means to support field protocols, GPS services, administration GUI, customer business logic and a Cloud client. ESF can enable all of this functionality by encapsulating the complexity of the lower layers and creating a foundation layer upon which customers can build their application and start with their value add from day one.An advanced software framework that leverages OSGi and Java isolates the developer from the complexity of the hardware, and the networking subsystems brings the Multi-Service Gateway hardware into an integrated hardware and software solution (Figure 4).
An application framework encapsulates the complexity of the underlying layers, making it easier for developers to write code on top.
Building on proven architecture and software building blocks that would require many years to develop, the use of an M2M application framework will result in shorter, more deterministic device software development. Using this IT-centric approach to implement the device logic in smart edge devices such as the environmental monitors improves both device management and application management. Once this standard software platform is in place, connecting to the Cloud is simpler than it ever has been before.
OSGi-Based Application Framework for M2M Service Gateways
The Eclipse Kura project is an effort aimed at offering a Java/OSGi-based container for M2M applications running in Multi-Service Gateways. Kura provides or aggregates open source implementations for the most common services needed by M2M applications. Kura components are designed as configurable OSGi Declarative Services exposing the service API and raising events.
The initial contribution of the Kura project will be a large subset of the current Eurotech Everyware Software Framework. The goals of the Eclipse Kura project can be summarized as:
• Provide an OSGi-based container for M2M applications running in service gateways. Kura complements the Java 6 SE and OSGi platforms with API and services covering the most common requirements of M2M applications. These extensions include but are not limited to: I/O access, data services, watchdog, network configuration and remote management.
• Kura adopts existing javax.* API for its functionalities when available—for example javax.comm, javax.usb, and javax.bluetooth. When possible, Kura will select an open source implementation of such API that is compatible with the Eclipse license and package it in an OSGi bundle to include it in the Kura default build.
• Design a build environment, which isolates the native code components and makes it simple to add ports of these components for new platforms in the Kura build and distribution.,
• Provide a development environment that allows developers to run M2M applications in an emulated environment within the Eclipse IDE, then deploy them on a target gateway, and finally remotely provision the applications to Kura-enabled devices on the field.
Kura offers a foundation on top of which other contributions for field bus protocols and sensor integration can reside.
M2M Integration Platform
An M2M integration platform designed to act as an intermediary system between the distributed devices and the applications making use of the data, can further reconcile the varied technologies found in complex M2M projects and help customers to quickly connect their devices in the field to the business applications on the enterprise IT side. An effective M2M integration platform must act as an operating system for the IoT, enabling the transfer of device data independent of any programming language, platform, or underlying technology.
An M2M platform is essential in the environmental monitoring system, with a large number of devices in the field collecting data and connecting to a backend system with multiple user applications such as a desktop GUI, handheld device applications and server data storage.
Clients have the choice to build out their own backend server system and associated software elements, or look to a Cloud-based system where much of the solution has been provided. Which solution is best depends on many factors including: core competencies, complexity, capital investment, time-to-market requirements and more.
The Multi-Service Gateway approach aided by a 100 percent Java application framework can ensure successful and deterministic development and deployment of M2M solutions for a broad range of vertical markets. A well designed M2M/IoT architecture and proven building blocks, including an enabling device middleware—a Java and OSGi-based application framework—allows customers to focus on their core competencies and provide higher value through services, improve efficiency, and reduce costs while developing, deploying and maintaining the connected devices in the field.