M2M projects present many challenges, even when the hardware is designed exactly to customer specifications. Success can be best assured with effective implementation of the device logic, scalable methods for device and data management, and simple integration of distributed devices into different enterprise applications.
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, 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. This article will explore how the these technical building blocks leverage Java to ensure shorter development times, more deterministic development, and future-proof M2M applications.
A Multi-Service Gateway Approach
As 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 is designed to monitor traffic, industrial, construction and urban areas for temperature, gaseous pollutants, particulates, electromagnetic fields, radioactivity, and sound pollution. Furthermore, it is 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 is best developed using the Multi-Service Gateway approach (Figure 1).
Figure 1: Multi-Service Gateways consolidate multiple business relevant tasks
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 ideal platforms to built more complex systems by adding sensors and actuators to create powerful appliances like an environmental monitoring system (Figure 2).
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 OSGiTM platform) to provide the technology basis for device, network, and service abstraction as well as efficient development.
The benefits of IT-centric application development using ESF to implement business logic in smart edge devices/service gateways are:
- Simplifying application development for smart M2M Multi-Service Gateways and Smart Edge Devices.
- Optimizing portability across systems and hardware architectures.
- Improving device management (local and remote).
- Native M2M platform integration (Everyware Cloud, MQTT).
- Local and remote application management.
Oracle Java Embedded is ideal for application code development in connected devices such as the environmental monitoring system, enabling a robust software infrastructure for service delivery platforms. This enables easy code development through software simulation before porting onto the embedded devices and reducing time to market.
Figure 3: ESF developer experience: designed from the ground-up for developers
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 sub-systems complements the Multi-Service Gateway hardware into an integrated hardware and software solution (Figure 4).
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.
Sidebar
The Eclipse KURA project aims 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 Service exposing 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 they 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 which 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 connect their devices in the field to the business applications on the enterprise IT side quickly. 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 back end 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.
Conclusion
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.
Figure 5: A complex M2M system can deliver real-time data from the edge of the network to business applications
For more information visit www.eurotech.com.