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.
- 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 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.