OSGi in a Nutshell

With this post we would like to announce a new blog series, aimed to describe the world of OSGi.

Data In Motion Consulting GmbH has been an OSGi Alliance member for many years now, and we also provide trainings for both developers and project managers, who want to start using OSGi for their business.

Sometimes, however, the more experience you have in a field, the less easy is to explain some concepts to a beginner-level audience. There is the risk of lessons being too technical, and people who meet OSGi for the first time tend to see it far too complicated, and do not always manage to grasp its full potential.

I started working with OSGi almost two years ago. I started programming in Java at the same time. In fact, I basically used the OSGi framework on top of Java since the beginning, and, especially the first period, it was sometimes quite hard for me to distinguish what is OSGi specific and what is Java.

On the other hand, having started with both technologies from scratch quite recently, I should be in the right place now to try to make some sort of introduction to OSGi, in a way which is not too technical to be understood, but still convincing (hopefully) enough to make you appreciate its advantages.

As the title suggests, this is not intended to be a detailed nor exhaustive documentation on OSGi. I do not have the knowledge to make such thing. This document is addressed to developers which are encountering OSGi for the first time, or who have been trying to understand it for some time but feel the topic still too hard to grasp.

Of course, I am not claiming to clarify all your doubts, but my goal here is to provide a series of simple use cases, which illustrate the things you can achieve with OSGi. We will discuss the different goals, whether this is something that could be done also in a plain Java environment and, if so, how. Then we will see how the same thing can be done using OSGi. So, ideally, in the end, you should have an overview of the potential of OSGi, and maybe I will convince you that a lot of things are easier to do this way!

So, stay tuned! Next week we will start with a basic introduction to OSGi!