OSGi Framework

After a long lapse, I thought of reverting to a general, yet, in-vogue-theory elucidation. This post will be skimming through the OSGi Framework and its basic layout.

The OSGi (Open Services Gateway initiative) framework offers a dynamic modular architecture which has been used in many applications such as Eclipse Equinox, Apache Felix, etc. Contemplating OSGi framework’s back-end functionalities aids in developing Eclipse plugins and similar atomic programs.

OSGi framework architecture comprises 3 theoretical layers. Each layer is reliant on the layer(s) underneath it. The figure below shows the outline of each layer.

  1. Service Layer
  2. Module Layer
  3. Lifecycle layer

Service Layer

This is the layer that fulfills a service request from a client who is the requester. The service requester/client will request a service from the service provider, who publishes the service if it is available.

This resembles and functions in a manner similar to a Service Oriented Architecture (SOA) which is extensively utilized in web services.

 Module Layer

This layer elucidates the overview or conceptualization which is known as the Bundle. The Bundle is a JAR file which contains Meta data about the project’s components. Class files and associated assets like images and xml files are encapsulated within the module layer.

The manifest.mf is the Meta data file in the module layer that dictates which files are made to be visible to the external environment, the external packages upon which the bundle depends on, and so on.

 Lifecycle Layer

The lifecycle layer is the host of the definition of how bundles are dynamically installed and controlled in the OSGi framework. It paves way for a bundle to access the base OSGi framework.

This layer is also the application programming interface.



Popular posts from this blog

jsPlumb - Dragging a Clone

jsPlumb - Drag and Drop Multiple Elements

Creating connections between Elements in jsPlumb