OSGi

OSGi technology is the dynamic module system for Java™. The OSGi Service Platform provides functionality to Java that makes Java the premier environment for software integration and thus for development. Java provides the portability that is required to support products on many different platforms. The OSGi technology provides the standardized primitives that allow applications to be constructed from small, reusable and collaborative components. These components can be composed into an application and deployed.
 

 

The OSGi Service Platform provides the functions to change the composition dynamically on the device of a variety of networks, without requiring restarts. The OSGi technology provides a service-oriented architecture that enables these components to dynamically discover each other for collaboration.

 

 

The core component of the OSGi Specifications is the OSGi Framework. The Framework provides a standardized environment to applications (called bundles). The Framework is divided in a number of layers.

 

OSGi

  •  L0 Execution Environment: is the specification of the Java environment.
  • L1 Modules: defines the class loading policies. The OSGi Framework is a powerful and rigidly specified class-loading model.
  • L2 Life Cycle Management: adds bundles that can be dynamically installed, started, stopped, updated and uninstalled.
  • L3 Service Registry: provides a comprehensive model to share objects between bundles.

 

OSGi provides different services. For example: Framework Services, System Services and Protocols.

 

OSGi

 

The OSGi specifications are so widely applicable because the platform is a small layer that allows multiple Java™ based components to efficiently cooperate in a single Java Virtual Machine (JVM). It provides an extensive security model so that components can run in a shielded environment. However, with the proper permissions, components can reuse and cooperate, unlike other Java application environments. The OSGi Framework provides an extensive array of mechanisms to make this cooperation possible and secure. Adoption of the OSGi specifications can therefore reduce software development costs as well as provide new business opportunities.