Despliegue de paquetes de OSGi en un servidor de JVM

Para desplegar una aplicación Java™ en un servidor de JVM, debe instalar los paquetes de OSGi para la aplicación en la infraestructura OSGi del servidor de JVM de destino.

Antes de empezar

Los paquetes de CICS que contienen los paquetes de OSGi para la aplicación deben desplegarse en zFS. El servidor de JVM de destino debe estar configurado para ejecutar una infraestructura OSGi y habilitado en la región CICS. Debe conectarse a la región CICS utilizando CICS Explorer para crear los recursos de CICS.

Acerca de esta tarea

Un paquete de CICS puede contener uno o varios paquetes y servicios de OSGi. Puesto que el paquete de CICS es la unidad de despliegue, todos los paquetes y servicios de OSGi se gestionan conjuntamente como parte del recurso BUNDLE. La infraestructura de OSGi también gestiona el ciclo de vida de los paquetes y servicios de OSGi, incluida la gestión de dependencias y el mantenimiento de versiones.

Como práctica recomendada, asegúrese de que todos los paquetes de OSGi que incluyan un componente de Java se desplieguen en el mismo paquete de CICS. Si existen dependencias entre paquetes de OSGi, despliéguelos en el mismo paquete de CICS. Cuando instale el recurso BUNDLE de CICS, CICS se asegura de que se resuelvan todas las dependencias entre paquetes de OSGi.

Si tiene dependencias en un paquete de OSGi que contiene una biblioteca de código común, la práctica recomendada consistirá en crear un paquete de CICS independiente para la biblioteca. En este caso, es importante instalar primero el recurso BUNDLE de CICS que contenga la biblioteca. Si instala la aplicación Java antes que los paquetes de CICS de los que depende, la infraestructura de OSGi no podrá resolver las dependencias de la aplicación Java.

Procedimiento

  1. Cree un recurso de BUNDLE que especifique el directorio del paquete en zFS:
    1. En la perspectiva CICS SM, pulse Definiciones > Definiciones de paquete en la barra de menús de CICS Explorer para abrir la vista Definiciones de paquete.
    2. Pulse con el botón derecho del ratón en cualquier punto de la vista y pulse Nuevo para abrir el asistente de nueva definición de paquete. Especifique los detalles para el recurso BUNDLE en los campos del asistente.
    3. Instale el recurso BUNDLE. Puede instalar el recurso con estado habilitado o inhabilitado:
      • Si instala el recurso con estado inhabilitado (DISABLED), CICS instala los paquetes de OSGi en la infraestructura y resuelve las dependencias, pero no intenta iniciar los paquetes.
      • Si instala el recurso con estado habilitado (ENABLED), CICS instala los paquetes de OSGi, resuelve las dependencias e inicia los paquetes de OSGi. Si el paquete de OSGi contiene un activador de paquete diferido, la infraestructura de OSGi no intenta iniciar el paquete hasta que lo llame primero otro paquete de OSGi.
  2. Opcional: Habilite el recurso BUNDLE para iniciar los paquetes de OSGi en la infraestructura si el recurso todavía no tiene el estado ENABLED.
  3. Pulse Operaciones > Paquetes en la barra de menús de CICS Explorer para abrir la vista Paquetes. Compruebe el estado del recurso BUNDLE.
    • Si el recurso BUNDLE tiene un estado habilitado (ENABLED), CICS ha podido instalar todos los recursos del paquete correctamente.
    • Si el recurso BUNDLE tiene un estado inhabilitado (DISABLED), CICS no ha podido instalar uno o varios recursos del paquete.
    Si el recurso BUNDLE no ha podido instalarse con estado habilitado, compruebe el recurso BUNDLE en las partes del paquete. Si alguna de las partes del paquete tiene un estado inutilizable (UNUSABLE), CICS no ha podido crear los paquetes de OSGi. Por lo general, este estado indica que hay un problema con el paquete de CICS en zFS. Debe descartar el recurso BUNDLE, y, a continuación, volver a instalar el recurso BUNDLE.
  4. Pulse Operaciones > Java > Paquetes OSGi en la barra de menús de CICS Explorer para abrir la vista Paquetes OSGi. Compruebe el estado de los paquetes y los servicios de OSGi instalados en la infraestructura de OSGi. En la tabla siguiente se resumen los estados:
    BUNDLEPART OSGIBUNDLE OSGISERVICE
    ENABLED STARTING N/A
    ENABLED ACTIVE ACTIVE
    ENABLED ACTIVE INACTIVE
    DISABLED RESOLVED N/A
    DISABLED INSTALLED N/A
    UNUSABLE N/A N/A
    • Si el paquete de OSGi tiene el estado iniciándose (STARTING), se ha llamado al activador de paquete, pero todavía no se ha devuelto. Si el paquete de OSGi tiene una política de reactivación diferida (perezosa), el paquete reaparecerá en este estado a que se llame en la infraestructura de OSGi.
    • Si los paquetes y servicios de OSGi están activos, la aplicación Java está preparada.
    • Si el servicio de OSGi está inactivo, CICS ha detectado que ya existe un servicio de OSGi con ese nombre en la infraestructura de OSGi.
    • Si inhabilita el recurso BUNDLE, el paquete de OSGi cambia al estado RESOLVED.
    • Si el paquete de OSGi está en estado INSTALLED, no se ha iniciado o no ha podido iniciarse porque las dependencias del paquete OSGi no se han podido resolver.

Resultados

El paquete está habilitado, los paquetes de OSGi se han instalado correctamente en la infraestructura de OSGi y los servicios de OSGi están activos. Los paquetes y servicios de OSGi están disponibles para otros paquetes en la infraestructura.