Internet of Things projects present many challenges, and enterprises need purpose-built IoT solutions to address interoperability and seamlessly collect, aggregate, filter, and share data from the edge of the network to the cloud.
The right technical building blocks, including multi-service gateway hardware combined with a Java-based application framework, can lead to a rugged and reliable IoT system. A Java-based IoT application framework will enable more deterministic device software development and a quicker time to market. Using an IT-centric approach to implement the device logic in smart edge devices improves both device management and application management. Once this standard software platform is in place, connecting to the cloud and gathering valuable and usable data is simple.
A Multi-Service Gateway Approach to IoT
Complex IoT systems have several types of devices and several consumers of data. Developers must unify disparate components such as sensors, actuators, meters, smart machines, and legacy systems to make sending data through a communications infrastructure to data consumers simpler and more cost effective.
Taking a multi-service gateway approach solves the problem of integrating multiple device and sensor types with a single solution and unifying disparate components. The gateway approach thus enables timely and cost-effective access to valuable data for better decision-making across the enterprise.
With the multi-service gateway approach, multiple business process tasks are addressed and technically consolidated. In addition, data delivery leverages the advantages of an open protocol, effectively decoupling data providers and data consumers. IT-centric device application development can be accelerated by using a software framework to implement business logic in smart edge devices/multi-service gateways. The multi-service gateway approach reduces development risk by using commercial-off-the-shelf systems and boards combined with powerful, integrated IoT software to speed development of the devices’ business logic in Java.
Building multiservice gateways for IoT does come with challenges that can be categorized into three areas – complexity, fragmentation and lock-in.
First, multi-service IoT gateways are complex: They must handle security, scalability, reliability, lifecycle management, and network management. With the increasing pressure to add value in shrinking time frames, companies want developers focused on solving the particular business issues that provide differentiation – not focusing on resolving these complex issues. Second, fragmentation in the current IoT gateway space takes many forms: hardware, sensors, and protocols. The key is managing this fragmentation and using a flexible, modular platform. Last, many IoT applications are locked-in to a particular CPU, gateway, protocol, or vertical market. Java is foundational in addressing these challenges.
Leveraging a Java-Based Application Framework
When Java is paired with a modular microservices framework like OSGi, the developer is isolated from these IoT challenges and has the ability to become more productive. There is a large developer base for Java (estimated at 9 million plus), which relieves the human resource constraints normally associated with embedded/edge development. The large and active Java community has created a large number of libraries and open source projects that are readily available. These libraries and projects can be leveraged to speed development.
Java is robust, proven, and hardware-independent. Hardware independence allows developers to start with open hardware such as a Raspberry Pi, build their application, and then deploy it on hardened gateways with pedigree supported software. Hardware independence also helps with lock-in by offering the flexibility to pick the right hardware for the performance requirements instead of being locked-in to a compromising one-size-fits-all approach.
The modular microservices framework that OSGi provides enforces the separation of application logic and processes into modules, empowering the developers to depend on interface and service instead of specific implementations. Modularity especially helps when managing third-party libraries and open source projects. OSGi also allows for the ability to remotely install, uninstall, start, stop, and upgrade modules running on a multi-service gateway, thereby enhancing manageability and taming some complexity. OSGi enforces versioning and allows multiple versions of a module or service to be concurrently deployed on a multi-service gateway, which can ease migration complexity.
An advanced application platform, such as Eclipse Kura, which is built on OSGi and Java, further isolates the developer from the IoT challenges and increases productivity and time to market. The platform hides the complexity of the hardware and the networking subsystems, making multi-service gateways an integrated hardware and software solution. Common but very tough challenges such as manageability, security, and upgradability are taken care of so that the developer can focus on differentiation and adding value.
Building on proven architecture and software building blocks that would require many years to develop, an IoT application framework will result in shorter, more deterministic device software development. The IoT application framework also helps bring IT centric practice to the edge.
The benefits of IT-centric application development to implement business logic in smart edge devices/service gateways are:
- simplifying application development for smart IoT multi-service gateways and smart edge devices;
- optimizing portability across systems and hardware architectures;
- improving device management (local and remote); and
- local and remote application management.
The multi-service gateway approach aided by a 100 percent Java application framework can ensure successful and deterministic development and deployment of IoT solutions for a broad range of vertical markets. A well-designed IoT architecture with proven building blocks, including 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.
Walt Bowers is IoT solutions architect at Eurotech (www.eurotech.com).
Edited by Ken Briodagh