Las especificaciones OSGi son definidas y mantenidas por OSGi Alliance, una organización de estándares abiertos. La especificación describe estándares abiertos para la gestión de redes de voz, redes de datos y redes multimedia inalámbricas y cableadas. La especificación OSGi Service Platform define una arquitectura común abierta para la entrega y gestión de servicios utilizando paquetes.
La infraestructura OSGi Applications proporciona un modelo de programación para desarrollar, ensamblar y desplegar, como paquetes, aplicaciones modulares que utilizan tecnologías Java™ EE y tecnologías OSGi.
Para obtener más información sobre la especificación OSGi, consulte Especificaciones de OSGi Alliance.
OSGi para aplicaciones empresariales Java es el foco de la Versión 4.2 de la especificación OSGi.
La Versión 4.2 de la especificación OSGi incluye la definición del modelo de componentes Blueprint, que es una versión estandarizada del modelo de ensamblaje Spring Framework. El modelo de componentes Blueprint describe cómo se pueden conectar componentes entre sí dentro de un paquete y cómo se inyectan configuraciones y dependencias en el entorno de ejecución mediante un contenedor de componentes Blueprint.
Los componentes y las referencias consumidas por ellos se declaran en un archivo Blueprint de módulo XML que es una estandarización del contexto de aplicación Spring. El archivo se amplía para el entorno OSGi para que los componentes se puedan publicar automáticamente como servicios para el registro de servicios y las referencias se puedan resolver automáticamente como servicios descubiertos del registro de servicios.
El modelo de componentes Blueprint proporciona la simplicidad de la infraestructura Spring, incluida su capacidad para formar una prueba de unidad que está separada del entorno de servidor. Blueprint estandariza los metadatos de configuración, y por lo tanto aporta gobierno a la especificación del modelo de componentes.