Un paquete de OSGi es un archivo de archivado Java™ que contiene código Java, recursos y un archivo de manifiesto que describe el paquete y sus dependencias. El paquete es la unidad de despliegue de una aplicación.
Los paquetes de aplicación se pueden almacenar en el archivo EBA o en un repositorio. Los paquetes compartidos se almacenan en un repositorio (de lo contrario, no se pueden compartir).
Los paquetes de aplicación que no se incluyen directamente en el archivo EBA son paquetes de referencia específicos de una instancia. Los paquetes de uso son paquetes de referencia compartidos. Los paquetes de provisión son paquetes de dependencia compartidos.
Un archivo JAR de paquetes OSGi contiene un archivo de manifiesto de paquetes. Este archivo contiene metadatos que habilitan el marco de trabajo OSGi para procesar aspectos modulares del paquete.
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MyService bundle
Bundle-SymbolicName: com.sample.myservice
Bundle-Version: 1.0.0
Bundle-Activator: com.sample.myservice.Activator
Import-Package: org.apache.commons.logging;version="1.0.4"
Export-EJB: ExampleBean
Export-Package: com.sample.myservice.api;version="1.0.0"
Los metadatos de este archivo de manifiesto incluyen las siguientes propiedades clave:
La infraestructura gestiona el ciclo de vida de los paquetes. A medida que se instala y se ejecuta un paquete compuesto, éste recorre diversos estados.