Paquetes compuestos OSGi

Los paquetes compuestos agrupan paquetes en agregados para garantizar un comportamiento coherente. Un paquete compuesto contiene paquetes o referencias a paquetes fuera del espacio de trabajo o de la plataforma de destino. Un paquete compuesto garantiza un comportamiento coherente a partir de un conjunto de paquetes compartidos en una versión específica.

Un archivo de paquetes compuesto (CBA) agrupa paquetes compartidos en agregados. Un CBA puede contener paquetes OSGi o paquetes de referencia que se alojan en el repositorio de paquetes internos. Crear un CBA cuando desea garantizar un comportamiento coherente en un conjunto de paquetes compartidos. Puede utilizar el CBA para conectar ese conjunto de paquetes, en una versión específica, a una aplicación.

Un CBA es un archivo de archivado con una extensión de archivo .cba. Contiene un manifiesto compuesto META-INF/COMPOSITEBUNDLE.MF, que define el CBA y, opcionalmente, algunos paquetes OSGi para inicializar el repositorio. Los paquetes que contiene el CBA o al que hace referencia se definen con versiones exactas, en contraste con un EBA, donde están definidos los paquetes con rangos de versión.

Un paquete compuesto se instala en el repositorio de paquetes internos del tiempo de ejecución. Si el CBA contiene directamente paquetes OSGi, estos paquetes se instalan en el repositorio como si se hubieran subido individualmente. El CBA también se añade en el repositorio de paquetes. Si el CBA hace referencia a paquetes OSGi, estos paquetes deben estar presentes en el repositorio de paquetes interno.

Después de instalar un CBA en el repositorio de paquetes internos, sus paquetes estarán disponibles para todas las aplicaciones con las que desee utilizar los paquetes cuando se resuelva la aplicación. Si está disponible un paquete o servicio necesario en la misma versión en un paquete y un CBA, el proceso de suministro selecciona el paquete o servicio en el CBA.

Un CBA tiene las siguientes diferencias respecto a un archivo de paquetes empresariales (EBA):

Archivo de manifiesto de paquete compuesto OSGi

Los metadatos de este archivo incluyen las siguientes propiedades clave:
Manifest-Version
Describe la versión del archivo de manifiesto.
CompositeBundle-ManifestVersion
Describe la versión del paquete compuesto.
Bundle-Name
Proporciona un nombre legible para un paquete compuesto.
Si no especifica un valor, el valor predeterminado es el nombre simbólico del paquete compuesto.
Bundle-SymbolicName
Identifica un paquete compuesto de forma exclusiva en la infraestructura. No sustituye la necesidad de una cabecera Bundle-Name.
Bundle-Version
Describe la versión del paquete compuesto y permite que haya varias versiones de un paquete compuesto activas simultáneamente en la misma instancia de la infraestructura.
CompositeBundle-Content
Una lista de paquetes y fragmentos de paquete del paquete compuesto. Todos los paquetes y fragmentos deben estar disponibles para desplegarlos y se debe hallar en el archivo cba o existir en el repositorio de paquetes locales. Los paquetes y los fragmentos deben tener números de versión exactos. Si necesita el mismo paquete compuesto con versiones distintas de contenido, debe crear diferentes versiones del paquete compuesto, una versión para cada uso.
El formato es una lista separada por comas de declaraciones de módulo, donde cada declaración de módulo utiliza el formato siguiente:
<identificar de módulo>;<directrices>;<atributos>
La cabecera CompositeBundle-Content tiene el atributo siguiente:
version
La versión del módulo se especifica utilizando la sintaxis OSGi para un rango de versión. La versión debe especificarse como un rango exacto, por ejemplo "[1.0.0,1.0.0]".
Import-Package
Declare las dependencias externas del paquete que utiliza el marco de trabajo OSGi para la resolución de paquetes. Se pueden declarar versiones específicas o rangos de versiones para cada paquete.
Utilice esta propiedad para especificar los nombres de los paquetes en el que desea importar su paquete en el tiempo de ejecución. Si no especifica el paquete necesario en esta propiedad, puede que aparezca la excepción NoClassDefFound cuando se cargue el paquete.
Nota: También debe especificar el paquete que desea importar (utilizando Import-Package) en la propiedad Paquete de exportación del paquete compuesto que contiene el paquete.
Export-Package
Declara los paquetes que se pueden ver fuera del paquete. Cualquier paquete que no esté declarado aquí sólo tiene visibilidad dentro del paquete.
Utilice esta propiedad para especificar el nombre de cualquier paquete al que desee exportar el paquete en el tiempo de ejecución. Si no especifica los paquetes que necesitan otros paquetes de esta propiedad, no se podrán resolver los paquetes dependientes.
CompositeBundle-ExportService

Una lista de nombres de interfaz de servicio y filtros opcionales que identifican servicios que están presentes en el paquete compuesto y que pueden exportarse para su uso fuera del paquete compuesto. Las interfaces que un servicio exportado implementa se pueden utilizar fuera del paquete compuesto si dichas interfaces están visibles fuera del paquete compuesto.

El formato es una lista de servicios separados por comas, en forma de un nombre de interfaz de servicio, seguido por atributos o directivas. La cabecera CompositeBundle-ExportService tiene el atributo siguiente:
filter
Un filtro de servicio OSGi.
CompositeBundle-ImportService

Una lista de nombres de interfaz de servicio y filtros opcionales que identifican servicios que el contenido del paquete compuesto desea utilizar desde fuera del paquete compuesto. Debe existir al menos un servicio de este tipo.

El formato es una lista de servicios separados por comas, en forma de un nombre de interfaz de servicio, seguido por atributos o directivas. La cabecera CompositeBundle-ImportService tiene el atributo siguiente:
filter
Un filtro de servicio OSGi.
Icono que indica el tipo de tema Tema de conceptos
Términos y condiciones para centros de información | Comentarios

Icono de indicación de fecha y hora Última actualización: 22 de abril de 2014

Nombre de archivo: ccba.html