Déploiement de bundles OSGi dans un serveur JVM

Pour déployer une application Java™ sur un serveur JVM, vous devez installer des bundles OSGi pour l'application dans l'infrastructure OSGi du serveur JVM cible.

Avant de commencer

Le bundle CICS qui contient les bundles OSGi pour l'application doit être déployé sur zFS. Le serveur JVM cible doit être activé dans la région CICS.

Pourquoi et quand exécuter cette tâche

Un bundle CICS peut contenir un ou plusieurs bundles OSGi. Etant donné que le bundle CICS correspond à l'unité de déploiement, tous les bundles OSGi sont gérés ensemble dans le cadre de la ressource BUNDLE. L'infrastructure OSGi gère aussi le cycle de vie des bundles OSGi, notamment la gestion des dépendances et des versions.

Vérifiez que tous les bundles OSGi contenant un composant d'application Java sont déployés dans le même bundle CICS. S'il existe des dépendances entre les bundles OSGi, déployez-les dans le même bundle CICS. Lorsque vous installez la ressource de bundle CICS, CICS s'assure que toutes les dépendances entre les bundles OSGi sont résolues.

S'il existe des dépendances dans un bundle OSGi contenant une bibliothèque de code commun, créez un bundle CICS distinct pour la bibliothèque. Dans ce cas, il est important d'installer en premier la ressource BUNDLE CICS qui contient la bibliothèque. Si vous installez l'application Java avant les bundles CICS dont elle dépend, l'infrastructure OSGi ne peut pas résoudre les dépendances de l'application Java.

Vous ne devez pas essayer d'installer un bundle CICS contenant un bundle OSGi dans un serveur Liberty JVM, car cette configuration n'est pas prise en charge. En revanche, vous pouvez regrouper le bundle OSGi avec l'application Web dans une archive de bundle d'entreprise (EBA) ou vous pouvez utiliser le référentiel de bundles de profil WebSphere Liberty afin de rendre le bundle OSGi disponible pour toutes les applications Web dans le serveur Liberty JVM.

Procédure

  1. Créez une ressource de bundle indiquant le répertoire du bundle dabs zFS :
    1. Dans la perspective CICS SM, cliquez sur Définitions > Définitions de bundle dans la barre de menus CICS Explorer pour ouvrir la vue Définitions de bundles.
    2. Cliquez avec le bouton droit de la souris n'importe où dans la vue, puis sur Nouveau pour ouvrir l'assistant Nouvelle définition de bundle. Saisissez les détails de la ressource de bundle dans les zones de l'assistant.
    3. Installez la ressource de bundle. Vous pouvez installer la ressource avec le statut Activé ou Désactivé :
      • Si vous installez la ressource avec le statut Désactivé (DISABLED), CICS installe les bundles OSGi dans l'infrastructure et résout les dépendances, mais n'essaie pas de démarrer les bundles.
      • Si vous installez la ressource avec le statut Activé (ENABLED), CICS installe les bundles OSGi, résout les dépendances et démarre les bundles OSGi. Si le bundle OSGi contient un activateur de bundle à la demande, l'infrastructure OSGi n'essaie pas de démarrer le bundle avant qu'il ne soit d'abord appelé par un autre bundle OSGi.
  2. Facultatif : Activez la ressource de bundle pour démarrer les bundles OSGi dans l'infrastructure si la ressource n'affiche pas déjà le statut Activé (ENABLED).
  3. Cliquez sur Opérations > Bundles dans la barre de menus CICS Explorer pour ouvrir la vue Bundles. Vérifiez le statut de la ressource de bundle.
    • Si la ressource de bundle affiche le statut Activé (ENABLED), CICS est parvenu à installer toutes les ressources dans le bundle.
    • Si la ressource de bundle affiche l'état Désactivé (DISABLED), CICS n'est pas parvenu à installer une ou plusieurs ressources dans le bundle.
    Si l'installation de la ressource de bundle a échoué dans le statut Activé (Enabled), vérifiez les composants de bundle de la ressource BUNDLE. Si l'un des composants de bundle affiche le statut Inutilisable (UNUSABLE), CICS n'a pas pu créer les bundles OSGi. En général, ce statut indique la présence d'un problème avec le bundle CICS dans zFS. Vous devez supprimer la ressource de bundle, corriger le problème, puis réinstaller la ressource de bundle.
  4. Cliquez sur Opérations > Java > Bundles OSGi dans la barre de menus CICS Explorer pour ouvrir la vue Bundles OSGi. Vérifiez le statut des bundles et services OSGi installés dans la structure OSGi.
    • Si le bundle OSGi affiche le statut Démarrage en cours (STARTING), l'activateur de bundle a été appelé, mais pas encore renvoyé. Si le bundle OSGi dispose d'une règle d'activation à la demande, le bundle conserve ce statut jusqu'à ce qu'il soit appelé dans l'infrastructure OSGi.
    • Si les bundles OSGi et les services OSGi sont actifs, l'application Java est prête.
    • Si le service OSGi est inactif, CICS a peut-être détecté la présence d'un service OSGi de même nom dans l'infrastructure OSGi.
    • Si vous désactivez la ressource BUNDLE, le bundle OSGi se déplace vers l'état RESOLVED.
    • Si le bundle OSGi est à l'état INSTALLED, soit il n'a pas démarré soit le démarrage a échoué parce que les dépendances dans le bundle OSGi n'ont pas pu être résolues.

Résultats

La ressource de bundle est activée, les bundles OSGi sont correctement installés dans l'infrastructure OSGi et tous les services OSGi sont actifs. Les bundles OSGi sont disponibles pour d'autres bundles dans l'infrastructure.

Que faire ensuite

Vous pouvez rendre l'application Java disponible pour d'autres applications CICS se trouvant en dehors de l'infrastructure OSGi, comme indiqué dans Appel d'une application Java dans un serveur JVM. Pour mettre à jour ou retirer une application, voir Administration des applications Java.