Difference between revisions of "OSGi Concepts"

From CDOT Wiki
Jump to: navigation, search
Line 30: Line 30:
 
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Execution_Security Security]''' - The layer that handles the security aspects.
 
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Execution_Security Security]''' - The layer that handles the security aspects.
 
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Execution_Environments Execution Environments]''' - Defines what methods and classes are available in a specific platform.
 
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Execution_Environments 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.

Revision as of 15:01, 21 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 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.