Difference between revisions of "OSGi Concepts"

From CDOT Wiki
Jump to: navigation, search
Line 24: Line 24:
 
The following list contains a short definition of the terms:
 
The following list contains a short definition of the terms:
  
* '''Bundles''' - Bundles are the OSGi components made by the developers.
+
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Bundles 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.
 
* '''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.
 
* '''Life-Cycle''' - The API to install, start, stop, update, and uninstall bundles.

Revision as of 08:29, 20 January 2011

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 Layering 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 Environment - Defines what methods and classes are available in a specific platform.