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

El paquete de CICS que contiene los paquetes de OSGi para la aplicación debe desplegarse en zFS. El servidor de JVM debe estar habilitado en la región CICS.

Acerca de esta tarea

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

Asegúrese de que todos los paquetes de OSGi que incluyen un componente de aplicación 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, cree 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.

No intente instalar un paquete de CICS que contenga un paquete de OSGi en un servidor de JVM de Liberty, ya que esta configuración no está soportada. En lugar de ello, puede empaquetar el paquete de OSGi junto con la aplicación web en un archivo EBA (archivo de paquetes empresarial) o puede utilizar el repositorio de paquetes del perfil Liberty de WebSphere para que el paquete de OSGi esté disponible en todas las aplicaciones web en el servidor de JVM de Liberty.

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.
    • 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, es posible que CICS haya 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 de 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 de OSGi están disponibles para otros paquetes en la infraestructura.

Qué hacer a continuación

Puede poner la aplicación Java a disposición de otras aplicaciones de CICS fuera de la infraestructura de OSGi, tal como se describe en Llamada de una aplicación web Java en un servidor de JVM. Para actualizar o eliminar una aplicación, consulte Administración de aplicaciones Java.