Subscribe Find out first about new and important news
  • Share via email
  • Subscribe to blog alert

Billions of connected devices, a multitude of communication protocols, and a wide variety of different domains – the IoT is a very diverse, multifaceted field. This complexity has to be considered when developing IoT applications. Moreover, the IoT ecosystem is constantly evolving: New devices, applications, and features emerge while others become obsolete. This creates a challenging environment for companies and developers alike.

In face of such diversity, interoperability and the ability to share data across solutions is crucial. With a standards-based approach, OSGi aims to achieve precisely that. The most important goals of OSGi? Reduce complexity, ensure future-proof IoT solutions, and provide a common framework accessible to all developers.

Modularity and abstraction reduce complexity in the IoT

The OSGi Alliance specifies a general-purpose framework called the OSGi framework. While this framework has many facets, two aspects are crucial in the IoT context: its modularity and the abstraction layer.

Kai Hackbarth

Kai Hackbarth has been working as an evangelist at Bosch.IO (formerly Bosch Software Innovations) since July 2016. He previously worked at ProSyst Software, which Bosch acquired in 2015. Kai Hackbarth plays a pivotal role in technical standardization in the OSGi Alliance, of which he is also a Board of Directors member. He served as Co-Chairman of the OSGi Residential Expert Group from 2008 to 2018. He also participates in several Industrial Internet Consortium activities incl. the Over-the-Air Special Interest Group. Kai Hackbarth furthermore coordinates a wide range of Internet of Things (IoT) research projects. He specializes in smart homes, automotive applications, and the IoT.

The OSGi framework follows a modular service architecture, which means applications are modularized in different bundles, thus enabling the sharing of services across different applications. Splitting an application into bundles helps save resources and maintain the code. Additionally, it makes updating parts of an application easier. You don’t have to check the complete application to make modifications; you simply update a specific bundle. Using the OSGi framework also allows developers in different parts of the world to collaborate more effectively. Thanks to its modular structure, it can integrate the individual code of different people smoothly.

When it comes to companies, the OSGi framework allows them to start small and at the same time ensure that their solutions are future-proof. They can always add new features and evolve their solutions over time. What’s more, they are able to align their solutions with the varied and ever-changing needs of their customers. In short, the framework allows companies to manage the complexity that comes with IoT solutions.

The other crucial part is the abstraction layer. It allows you to abstract devices from their communication protocols. Simply put, developers don’t have to deal with the peculiarities of the different protocols. The device abstraction layer consolidates the different protocols into one interface within the OSGi framework.

All this sounds great? Then let’s take a look at what the real world has to say about OSGi.

OSGi use cases in the IoT

Smart home

About OSGi

Founded in 1999, OSGi originally stood for Open Services Gateway initiative, and focused on interoperability in connected homes. However, over the years it became apparent that its scope was much broader. Today, the OSGi Alliance specifies a general-purpose framework that is being used in embedded devices, enterprise application services like IBM WebSphere as well as the Eclipse IDE.

The smart home market is extremely diverse, with many different players offering their own solutions. These solutions are mostly targeted at specific tasks and use cases. While one product might facilitate automation, you might need a completely different one when it comes to monitoring specific aspects of your home and yet another one when dealing with security. This can be seen as a plus: By focusing on a specific task, companies can ensure that their products satisfy their customers’ needs.

The problem, however, is that many of these products are proprietary. Most of the time, users need specific apps to interact with their devices. What’s even worse is the fact that if there is no central gateway, users have to rely on a variety of apps to operate their devices.

An exemplary use case of OSGi in smart homes is QIVICON by German telecommunications company Deutsche Telekom. This platform brings together a wide variety of smart home devices from different brands under one technical roof. In other words, Deutsche Telekom is developing an ecosystem that allows partners to participate. They define and provide a base architecture that all the partners can use. The connectivity to the devices is taken care of and the partners receive a software development kit, so that they can develop their own applications. QIVICON also comes with the parts required for remote and device management as well as software provisioning, using the Bosch IoT Remote Manager and Bosch IoT Gateway Software.

In this context, the OSGi framework helps connect devices that use different communication protocols. In addition, it provides a common basis for developers. They can create applications on top of the framework that work with all the devices on the QIVICON platform, allowing you to control the lights in your house or change the temperature, for example.

OSGi’s modular structure also makes it possible to address specific parts of the platform. Let’s say there is an update that is targeted at ZigBee devices. In this case you don’t have to roll out an update to the entire platform – you just update the software bundle that deals with ZigBee devices, without affecting the other partners in the QIVICON ecosystem.

Industrial IoT

A major challenge many manufacturers face are long innovation cycles. Machines are often in use for decades and it takes a lot of effort and resources to make them meet Industry 4.0 requirements. Many machines are therefore not yet connected, thus creating a huge demand for retrofit solutions.

This is a problem Bosch Rexroth wants to solve with their IoT Gateway software, which can be used to connect already installed machines as well as new machines. A standardized connectivity layer based on OSGi helps make the different technologies interoperable. Having built their own Java applications on top of the OSGi framework, Bosch Rexroth can provide services like predictive maintenance or data analytics. For instance, you can monitor the status of a machine and measure the temperature development with a CISS sensor. Thanks to OSGi, the IoT gateway software allows you to correlate the status and temperature information with each other and subsequently draw conclusions. Bosch Rexroth also provides an SDK so that developers can create applications to suit their specific needs.

Additional domains

An industry that benefits from OSGi is connected cars. In this context, it facilitates vehicle-to-vehicle and vehicle-to-infrastructure communication. There are various applications that depend on sensor information in this domain. Bosch Automotive Aftermarkets, for instance, makes use of OSGi not only for pay-as-you-drive insurance use cases but also for leasing companies.

OSGi can also be leveraged in the health sector. Medical appliance providers could use OSGi gateways to connect to their devices – for example, infusion pumps. It would help them monitor how the pumps are used in hospitals and optimize maintenance processes based on the insights gained. OSGi would also provide a standardized way to roll out software updates to these devices.

More transparency for less complexity in the IoT

In a field as diverse as IoT, interoperability is crucial. With its standards-based approach, OSGi aims to achieve precisely that. It greatly simplifies the lives of developers as well as businesses by reducing the complexity of the process and taking into account the realities of IoT solution development.

However, software today is so complex that open standards alone might not suffice. A combination of open standards and open source in order to implement IoT standards could be the key to promoting rapid adoption of IoT technology. This combination brings together the best of both worlds; developers as well as companies joining forces to build IoT solutions.

More on OSGi

Kai Hackbarth answers five important questions about OSGi.

The OSGi-based Bosch IoT Gateway Software enables efficient realization of gateway-based IoT scenarios. Find out more.

Bosch IoT Gateway Software is just one of many elements the Bosch IoT Suite has to offer.

The Chinese Ministry of Commerce, Shanghai Base, and the OSGi Alliance recently announced a strategic partnership. What is it all about?

Do you want to learn even more about the OSGi Alliance?

Find out how OSGi can be used in the context of smart homes.

Find out why we believe that the ecosystem around Java, OSGi, and Eclipse IDE will play a dominant role in the IoT technology market.