Difference between revisions of "OSGi Concepts"
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:OSGi]]{{Ecl_menu}} | [[Category:OSGi]]{{Ecl_menu}} | ||
− | ( | + | |
+ | The [http://www.osgi.org 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. | ||
+ | [http://www.osgi.org/About/WhyOSGi OSGi technology] seems to be remarkably difficult to those unfamiliar with it. | ||
+ | |||
+ | <u>Definitions:</u> | ||
+ | ::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: | ||
+ | * reusable | ||
+ | * dynamically composed | ||
+ | * hide their implementation | ||
+ | * communicate their dependencies and services | ||
+ | |||
+ | ::2. <u>'''Bundle''' is the name for a component in the OSGi Architecture.</u><br/> | ||
+ | (generic bundle definition - a group of things fastened together for convenient handling[http://www.merriam-webster.com/dictionary/bundle] ) | ||
+ | |||
+ | |||
+ | [[Image:OSGi-Layering.png|400px]] | ||
+ | |||
+ | [http://zenit.senecac.on.ca/wiki/index.php/OSGi_Framework OSGi Framework] | ||
+ | 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]] |
Latest revision as of 08:55, 25 January 2011
Main Page · Course Description · Course Topics · Schedule, Students, Teams · Course Resources · Course Projects
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:
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.
- 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 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 described above. The most used implementations of OSGi Specifications are Knopflerfish and Equinox. Regardless of the particular implementation, the interactions between layers take place as depicted in the below picture.