|
Technical overview
An OSGi framework is a Java middleware which extends significantly
the functionality of the Java layer and can be deployed on
various classes of devices such as PCs, residential gateways,
mobile phones and telematics systems.

The OSGi core specification defines 3 major layers: module
layer, lifecycle layer and service layer:
- The Module Layer defines the class-loading policies. The
OSGi Framework has a powerful and rigidly specified class-loading
model which adds modularization to the JVM. In Java there
is normally a single classpath that contains all the classes
and resources. The OSGi Module layer adds private classes
for the modules as well as controlled linking between them.
- The Life Cycle layer defines bundles that can be dynamically installed, started, stopped, updated and uninstalled.
It relies on the module layer for the class loading but adds APIs for managing the modules in run time. Extensive dependency
mechanisms are used to assure the correct operation of the environment.
- The Service Registry layer provides a cooperation model
for bundles that takes the dynamics into account. Bundles
could cooperate via the traditional class sharing mechanism
but it is not very suitable for the dynamic installation
and uninstallation of code. The service registry provides
a comprehensive model to share objects between bundles,
decoupling object specification from object implementation.
Summary of OSGi key features
- Provides the ability to develop software that is much less dependent on the used hardware and operating system.
- Allows the software to be structured as dynamic components which can be installed, started, stopped, updated, and uninstalled without affecting other components being executed within the framework.
- Provides a reliable secure environment restricting components to access only the resources and perform only the operations they are allowed to.
Please feel free to read the »
OSGi technical white paper and the »
OSGi business white paper.
For more information on OSGi technology, please visit the OSGi web site at » www.osgi.org
|