Changes

Jump to: navigation, search

OSGi Concepts

711 bytes added, 09:55, 25 January 2011
no edit summary
::1. '''The OSGi technology is a set of specifications that define a dynamic component system for Java'''.[http://www.osgi.org/About/WhatIsOSGi]
::A software component is a unit of composition that can be developed independently with contractually specified interfaces and explicit context dependencies.[http://www.softwareresearch.net/fileadmin/src/docs/publications/J010.pdf]
 
'''OSGi''' enables the development of applications from '''components''' that could be:
[[Image:OSGi-Layering.png|500px400px]]
[http://wwwzenit.osgisenecac.orgon.ca/Aboutwiki/index.php/WhatIsOSGi OSGi_Framework OSGi LayeringFramework]
The following list contains a short definition of the terms:
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Bundles Bundles]''' - Bundles are the OSGi components made by the developers.
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Services Services]''' - The services layer connects bundles in a dynamic way by offering a publish-find-bind model for plain old Java objects.
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Bundle_Life-Cycle Life-Cycle]''' - The API to install, start, stop, update, and uninstall bundles.
* '''[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts_Modules Modules]''' - The layer that defines how a bundle can import and export code.
* '''[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.
 
The core component of the OSGi Specifications is the OSGi Framework. The Framework provides a standardized environment to applications with the layers described above.
The most used implementations of [http://www.osgi.org/Specifications/HomePage OSGi Specifications] are [http://www.knopflerfish.org/ Knopflerfish] and [http://www.eclipse.org/equinox/ Equinox]. Regardless of the particular implementation, the interactions between layers take place as depicted in the below picture.
<h4>[http://www.osgi.org/Release4/HomePage Interactions between layers]</h4>
 
[[File:bundle-inter.png|400px|Interactions between layers]]

Navigation menu