The OSGi standard in the Internet of Things: Completing the puzzle
OSGi Allance VP Susan Schwarze provides an overview of the latest developments driven by the OSGi Alliance and recommendations on how you can get involved.
Over the last 17 years OSGi has demonstrated that its technology provides a modular agile architecture, with a dynamic life-cycle mechanism, for a broad variety of product solutions and services across industries. OSGi technology facilitates the componentization of software and assures remote management, upgradeability and interoperability of applications and services over a broad variety of devices. As many deployments have proven, building systems from both in-house and off-the-shelf OSGi modules increases development productivity and makes these systems much easier to modify and evolve.
The suitability of the OSGi standard for IoT has been described in more detail in the an Eclipse Magazin article of March 2015.
A larger, scalable OSGi IoT demo was featured at the OSGi Community Event 2015 which took place Nov 3 to 5, co-located with EclipseCon Europe. The demo was created using the recently launched OSGi enRoute and shows how OSGi can be used from the Cloud to the Edge to create an end to end system for management, control and data collection.
In addition, over the last 6 months the OSGi Alliance has hosted a successful series of OSGi IoT workshops in Europe and North America, and the output of these has resulted in the creation of an IoT Expert Group within the OSGi Alliance. Furthermore our activities in creating OSGi based IoT specifications and standards has led to a strategic partnership with the Industrial Internet Consortium (IIC) being announced.
The creation of the IoT Expert Group
Since OSGi specifications have already been adopted in various industries and markets, and OSGi is playing a key role in connecting devices and applications in dynamic end2end solutions, the vision to further develop the OSGi specifications to better address industry needs for IoT should not come as a surprise.
OSGi specifications already cover many of the features required for an IoT platform since they were originally created for the remote and dynamic management of a broad variety of home automation devices, residential gateways and embedded systems. However there are still IoT-specific gaps that are not completely addressed by the existing specifications. Knowing that addressing these IoT gaps cannot be done alone, the OSGi Alliance started soliciting requirements from industry, and collaborating with best practice organisations.
During Spring 2015 the OSGi Alliance held a series of public IoT workshops to collect important industry input on how the OSGi specifications can be further developed for IoT. Out of these workshops the first Request For Proposal, RFP 174, was created and is available for review from the Alliance Git Hub documents repo.
The workshops confirmed that there was both interest and plenty of requirements from industry players to undertake OSGi specification work for the IoT market. Accordingly, the IoT Expert Group (EG) was launched in September this year. The charter for this Expert Group is available on the OSGi IoT expert group web page. OSGi Alliance members can provide requirements and contribute to specifications and reference implementations. The public can also raise requirements using the OSGi bugzilla system, referencing RFP 174 or commenting on other RFP’s of interest.
The first IoT EG meeting took place in Italy at Telecom Italia who kindly hosted all of the OSGi technical Expert Group meetings. As a result, first RFP’s have been submitted. These focus on security tests; using the (distributed) EventAdmin API to communicate via MQTT events with external devices; the interaction between CoAP resources and an OSGi framework; and further work on device access. The IoT EG and its members will tackle these and other industry requests in their ongoing work.
Getting involved is easy. You can contact me, Tim Ward, the IoT EG Chair, or the OSGi Alliance under [email protected].
Collaboration is key
As we all know, there are many efforts underway to tackle IoT. A good overview of the current IoT landscape is provided by the AIOTI Alliance.
The OSGi Alliance wants to build on the existing standards and open source projects and has started to reach out to other industry bodies and open source communities to join forces. This is an approach the OSGi Alliance has successfully followed in the past for example with the Smart Home market, providing a complex end-to-end service delivery via customer premise equipments (CPE’s).
The Industrial Internet Consortium (IIC) and the OSGi Alliance have agreed to collaborate on requirements and recommendations, including problem statements, use cases, specification requirements and recommendations. Among others, the Industrial Internet Consortium Asset Efficiency Testbed already deploys the mature OSGi technology to improve time to market and provide a bridge for integrating and managing the array of devices and sensors. The OSGi Alliance will consider the Industrial Internet Consortium testbed results in its specification work, and will exchange best practices with the Industrial Internet Consortium. The two groups anticipate more testbeds, which will help to foster the collaboration between both organizations. The Best Practices and reference architecture that will result from these efforts should enable companies to offer IoT solutions faster and more reliably.
Strategic partnerships with other organizations are already under discussion but unfortunately cannot be disclosed yet. Importantly it should be recognized that the common goal of solving industry requirements for IoT solutions is fundamental to all of our activityies.
This goal also features in the OSGi IoT demo that was started at last year’s OSGi Community Event and has been updated and expanded for 2015.
The 2015 OSGi IoT Demo & Contest
Like last year the OSGi Alliance organised an OSGi IoT demo and contest at the OSGi Community Event for developers to demonstrate the power of OSGi in the IoT world. Being able to reliably run the same code in the cloud as on small devices is a very compelling proposition. Of course, it was important that the demo and contest should be fun too!
So this year the OSGi IoT demo team came up with a demo based on LEGO® trains and track, all controlled and managed by OSGi based software created using OSGi enRoute.
The companies who joined forces this year along with Peter Kriens, the enRoute author, were:
- Paremus, OSGi Strategic Member with a profound expertise in the enterprise space has already realized OSGi solutions for many large businesses and is working on the intersection of federated Cloud, Big Data and Edge devices for the challenges that IoT presents. Paremus drives many of the Alliance specifications and provide the IoT Demo with their OSGi PaaS product, the Service Fabric.
- ProSyst, OSGi Strategic Member with more than fifteen years of experience in various industrial markets has built an ecosystem of service providers, application developers and solutions providers, integrators as well as hardware OEMs and ODMs and chip vendors across all major IoT-verticals. In the IoT demo ProSyst provides its products for end-to-end connectivity from the edge to the device management and software provisioning platform in the cloud.
- iMinds, is Flanders’ digital research & entrepreneurship hub, bringing together academic researchers and industry partners to turn digital know-how into future-proof products and services. Within iMinds IoT lab, OSGi is used as core technology to develop state of the art IoT platforms, which expertise was applied to develop the IoT Demo.
The OSGi IoT demo itself enables developers to assign tasks to the trains and see how the trains then navigate the tracks. From the OSGi based cloud an application manages the overall track and provides a user interface to set assignments and show the system’s state. The application communicates with edge devices that control the LEGO® trains: the switches (points), signals, RFID readers, and other elements.
There were two main functions open for enhancement and extension for the contest:
- Track Manager – The track manager is running in the cloud and is responsible for the overall track infrastructure. A track manager can control the switches, the signals, and it receives the RFID. It also dispatches the events so that the other participants know what is going on.
- Train Manager – The train manager is is responsible for navigating the train. A train manager is assigned a position and the software must then navigate through the track to that destination. This requires getting permission to use segments of the track, obeying the signals, and making sure the train does not speed.
A Software Development Kit (SDK) was provided for contestants to use and this contained an emulator and a graphical user interface that enabled developers to write OSGi bundles for this environment.
In the Exhibition area of the OSGi Community Event 2015 the OSGi Alliance had the demo on display with the LEGO® trains and track. Integrated with the track layout was an OSGi Cloud, provided by the Paremus Service Fabric, and a number of Raspberry Pi’s which were all connected across the installed network.
For the contest the OSGi IoT demo team took the bundles from the participants and uploaded them into the remote device management and software provisioning system from ProSyst, the mPRM, which controlled the Raspberry Pi’s. The mPRM ran in the OSGi cloud and deployed the OSGi bundles to the Raspberry Pi’s. The OSGi IoT demo team then ran the code provided by the competitors in order to evaluate their performance on the real tracks. As an additional activity the judges mixed and matched the OSGi bundles from different entrants in order to experience how these different software components can be used together.
The Developers benefited from using OSGi enRoute, which provides an easy-to-use tool chain for developing web applications and offers best practices with a true service-oriented architecture. Although the contest is now over, the SDK is still available and interested developers can download it and create their own enhancements to test in the emulator and maybe one day run on the real track if we set the full demo up again. To access the SDK please visit http://bit.ly/IoT_Contest_Instructions.
Completing the puzzle
Completing the puzzle is the goal of the OSGi Alliance and its members. We know that co-operation with industry, other industry bodies, open source communities and developers is key in order to truly develop scalable end-to-end solutions that allow for integration of a plethora of devices, sensors, and actuators on the edge and any kind of data and device management and data processing in the cloud.
SEE ALSO: Building a smart home with OSGi
All of the IoT activities driven by the OSGi Alliance pursue the same goal; the creation of the IoT EG has given Industry and the developer community a forum for exchanging information and developing OSGi specifications tailored for IoT needs. The strategic partnerships being pursued with other industry bodies and open source communities support this goal by jointly extending and combining the dynamic and modular OSGi architecture with other industry offerings and the sharing of best practices. The OSGi IoT demo shows over and over again how different stakeholders can work together to prove the value of OSGi and promote their own products.
In the coming years more OSGi specifications in the field of IoT will be developed and be displayed in the OSGi IoT Demo. The OSGi IoT demo will be further expanded in consultation with the OSGi Alliance. If you are interested in joining hands and contributing to the 2016 OSGi IoT demo please contact us at [email protected] or reach out via LinkedIn.