Open main menu

CDOT Wiki β

OSGi Concepts

Revision as of 14:04, 21 January 2011 by Jordan.anastasiade (talk | contribs)

The OSGi Alliance - Open Services Gateway initiative - is an open standards organization founded in March 1999 that originally specified and continues to maintain the OSGi standard. OSGi technology seems to be remarkably difficult to those unfamiliar with it.

Definitions:

1. The OSGi technology is a set of specifications that define a dynamic component system for Java.[1]
A software component is a unit of composition that can be developed independently with contractually specified interfaces and explicit context dependencies.[2]


OSGi enables the development of applications from components that could be:

  • reusable
  • dynamically composed
  • hide their implementation
  • communicate their dependencies and services
2. Bundle is the name for a component in the OSGi Architecture.

(generic bundle definition - a group of things fastened together for convenient handling[3] )


OSGi-Layering.png

OSGi Framework The following list contains a short definition of the terms:

  • Bundles - Bundles are the OSGi components made by the developers.
  • Services - The services layer connects bundles in a dynamic way by offering a publish-find-bind model for plain old Java objects.
  • Life-Cycle - The API to install, start, stop, update, and uninstall bundles.
  • Modules - The layer that defines how a bundle can import and export code.
  • Security - The layer that handles the security aspects.
  • Execution Environments - Defines what methods and classes are available in a specific platform.

The core component of the OSGi Specifications is the OSGi Framework. The Framework provides a standardized environment to applications with the layers as described above.