Channels ▼

Eric Bruno

Dr. Dobb's Bloggers

Java and OSGi

October 05, 2008

The Open Services Gateway initiative (OSGi) is a component model for Java that defines a standard method to manage standalone Java applications. Users of the Java EE specification understand the benefit of a standard model for the deployment, restart, and upgrade of enterprise applications. However, until the OSGi was formed, this was missing for Java SE applications. The OSGi Alliance, which is comprised of a group of software vendors, such as Ericsson, IBM, Sun, Oracle, and many others, are responsible for its ongoing definition. Take a look at for a full list.

One of the most popular OSGi-compliant software packages available is Eclipse. The component model is used for the Eclipse plug-in implementation, and provides a standard model for developers to build new Eclipse extensions. OSGi also allows Eclipse to be dynamically updated via software downloads. Further, OSGi defines a software lifecycle model, a registry to post and locate new modules, and a security model.


Other products based on OSGi incude Philips' iPronto device, which is meant for home audio, video, and security automation (see This neat wireless device comes with a 6.4" LCD screen, lots of connectivity options, and is based on Linux, Java, and the OSGi component model. In fact, iPronto is part of the Pronto is a family of products that includes control panels, receivers, handsets for the home, and remote controls. OSGi allows the software on the devices to be extended through a standard plug-in model, opening the door to third-party software, and a potential ecosystem around Pronto.


A new entry in the OSGi mix is SpringSource, which has released its SpringSource dm Server. It's a completely modular OSGi-based Java application server (not Java EE applications server), built with Tomcat and the Spring Framework, to deploy Spring applications on (see With OSGi, dm Server offers a standalone component model and management system without committing to the entire, bloated, Java EE specification. With OSGi, there's also better support for dynamic application updates to running servers, which don't require the restart of the running systems. This creates a more stress-free upgrade path for organizations that need to offer 24x7 application uptime. 

Perhaps the biggest productivity gain is that it also makes development and debugging easier, as it integrates with development environments, and doesn't require the constant shutdown, copy, startup and wait, debug cycles that Java EE-based development does.

Following a period of time of slow growth, OSGi appears to be taking off. I'm sure you'll increasingly find this Java component model used in software products across the Java ecosystem.

Happy coding!

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.