The OSGi specification

OSGi specifications are defined and maintained by the OSGi Alliance, an open standards organization. The specification outlines open standards for the management of voice, data, and multimedia wireless and wired networks. The OSGi Service Platform Specification defines an open common architecture for service delivery and management using bundles.

The OSGi Applications framework provides a programming model for developing, assembling, and deploying, as bundles, modular applications that use both Java™ EE and OSGi technologies.

OSGi Service Platform Specifications Version 4.2 bring the benefits of OSGi to the Java EE application developer. The OSGi Version 4.2 standard defines the Blueprint component model. This model defines how you can exploit OSGi modularity in your applications, in particular to help with third-party library integration and version control. The OSGi Applications framework in WebSphere® Application Server includes the following major features:
  • It implements a set of application-centric enterprise OSGi technologies that are used by Java application components.
  • It advocates and extends the use of the Blueprint component model.
  • It builds on the Apache Software Foundation Aries project, which provides an open implementation of the Blueprint container.
For more information about the OSGi Applications framework in WebSphere Application Server documentation about OSGi Applications and JPA 2.0.

For more information about the OSGi specification, see OSGi Alliance Specifications.

Enterprise OSGi

OSGi for Java enterprise applications is the focus of Version 4.2 of the OSGi specification.

Version 4.2 of the OSGi specification includes the definition of the Blueprint component model, a standardized version of the Spring Framework assembly model. The Blueprint component model describes how components can be wired together within a bundle and how configurations and dependencies are injected by a Blueprint component container in the runtime environment.

Components and the references they consume are declared in an XML module Blueprint file that is a standardization of the Spring application context. The file is extended for the OSGi environment so that components can be automatically published as services for the service registry, and references can be automatically resolved as services discovered from the service registry.

The Blueprint component model provides the simplicity of the Spring Framework, including its ability to form a unit test that is separated from the server environment. Blueprint standardizes the configuration metadata, and therefore brings governance to the specification of the component model.