Enterprise OSGi standards

OSGi for Java™ enterprise applications is one focus of Version 4.2 of the OSGi service platform specification, which introduces the OSGi Service Platform Enterprise Specification.

This specification includes the definition of the Blueprint component model, which is derived from the Spring Dynamic ModulesTM project. The Blueprint component model forms an important part of the OSGi Applications programming model in WebSphere® products. It describes how components can be wired together within a bundle, how components can be published as services to the service registry, and how components can have configuration and dependencies injected into them by a Blueprint component container that is part of the runtime environment.

Components and the references that they consume are declared in an XML module Blueprint file, which is a standardization of the Spring application context. This 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 to services discovered from the service registry.

The Blueprint component model provides the simplicity of dependency injection frameworks such as the Spring Framework, including the ability to form a unit test that is separate from the server environment. Blueprint standardizes the configuration metadata, and brings governance to the specification of the component model.

The specification also describes how to use Java Naming and Directory Interface (JNDI) and Java Persistence API (JPA) in an OSGi framework, and web application bundles (WABs).