JVM サーバーへの OSGi バンドルのインストール

JVM サーバーに Java アプリケーションを配置するには、ターゲット JVM サーバーの OSGi フレームワークにそのアプリケーションの OSGi バンドルをインストールする必要があります。

始める前に

アプリケーションの OSGi バンドルが入っている CICS® バンドルは、zFS に配置されなければなりません。 ターゲット JVM サーバーは、CICS 領域で稼働していなければなりません。

このタスクについて

CICS バンドルには、1 つ以上の OSGi バンドルおよびサービスを含むことができます。 CICS バンドルは配置の単位であるため、すべての OSGi バンドルとサービスは、BUNDLE リソースの一部として一緒に管理されます。 また、OSGi フレームワークは、依存関係とバージョン管理の管理を含む、OSGi バンドルとサービスのライフサイクルも管理します。

ベスト・プラクティスとしては、Java アプリケーションを構成するすべての OSGi バンドルを同じ CICS バンドルに配置するのが適切です。 この方法を使用すると、BUNDLE リソースを使って 1 つのエンティティーとしてアプリケーションを管理できます。 OSGi バンドル相互間に依存関係がある場合は、それらを同じ CICS バンドルに配置してください。 CICS BUNDLE リソースをインストールすると、CICS によって OSGi バンドル間の依存関係がすべて解決されます。

共通コードのライブラリーを含む OSGi に依存する場合、ベスト・プラクティスは、そのライブラリー用に別個の CICS バンドルを作成することです。 この場合、そのライブラリーを含む CICS BUNDLE リソースを最初にインストールすることが重要です。 Java アプリケーションをインストールしてから、その Java アプリケーションが依存する CICS バンドルをインストールすると、OSGi フレームワークは、その Java アプリケーションの依存関係を解決できません。

手順

  1. CICS バンドル・マニフェストにターゲット JVM サーバーのインポートが含まれていない場合は、CICS バンドル・マニフェスト・エディターを使用して、JVM サーバーのインポートのエントリーを追加します。
  2. zFS のバンドルのディレクトリーを指定する BUNDLE リソースを作成します。
    1. CICS Explorer® メニュー・バーで「定義」 > 「バンドル定義」をクリックして、「バンドル定義」ビューを開きます。
    2. ビューの任意の場所を右クリックして、「新規」をクリックし、「新規バンドル定義 (New Bundle Definition)」ウィザードを開きます。 ウィザードのフィールドに BUNDLE リソースの詳細を入力します。
    3. BUNDLE リソースをインストールします。 以下に示すように、有効または無効の状態でリソースをインストールできます。
      • DISABLED 状態でリソースをインストールすると、CICS は OSGi バンドルをフレームワークにインストールし、依存関係を解決しますが、バンドルを開始しようとしません。
      • ENABLED 状態でリソースをインストールすると、CICS は OSGi バンドルをインストールし、依存関係を解決し、OSGi バンドルを開始します。 遅延的なバンドル・アクティベーターが OSGi バンドルに含まれる場合、別の OSGi バンドルによって呼び出されるまでは、OSGi フレームワークはバンドルを開始しようとしません。
  3. オプション: フレームワークで OSGi バンドルを開始するために BUNDLE リソースを有効にします (まだリソースが ENABLED 状態でない場合)。
  4. CICS Explorer メニュー・バーで「操作」 > 「バンドル」をクリックして、「バンドル」ビューを開きます。 BUNDLE リソースの状態を確認します。
    • BUNDLE リソースが ENABLED 状態である場合、CICS はバンドル内のすべてのリソースを正常にインストールできました。
    • BUNDLE リソースが DISABLED 状態である場合、CICS はバンドル内の 1 つ以上のリソースをインストールできませんでした。
    BUNDLE リソースを有効状態でインストールできなかった場合、BUNDLE リソースのバンドル部分を調べてください。 いずれかのバンドル・パーツが UNUSABLE 状態である場合、CICS は OSGi バンドルを作成できませんでした。 通常、この状態は、zFS で CICS バンドルに問題があることを示します。 BUNDLE リソースを破棄し、問題を修正した後、BUNDLE リソースを再びインストールする必要があります。
  5. CICS Explorer メニュー・バーで「操作」 > 「Java」 > 「OSGi バンドル」をクリックして、「OSGI バンドル」ビューを開きます。 OSGi フレームワーク内のインストール済み OSGi バンドルとサービスの状態を確認します。 以下の表は、状態の要約です。
    BUNDLE BUNDLEPART OSGIBUNDLE OSGISERVICE
    ENABLED ENABLING INSTALLED なし
    ENABLED STARTING なし
    ACTIVE ACTIVE
    INACTIVE
    DISABLED DISABLING STOPPING なし
    DISABLED RESOLVED なし
    UNUSABLE なし なし
    • OSGi バンドルが STARTING (開始中) 状態である場合、バンドル・アクティベーターが既に呼び出されましたが、まだ戻っていません。 OSGi バンドルのアクティベーション・ポリシーが「遅延」である場合、OSGi フレームワークで呼び出される時点まで、バンドルはこの状態を保ちます。
    • OSGi バンドルと OSGi サービスがアクティブである場合、Java アプリケーションは作動可能です。
    • OSGi サービスが非アクティブである場合、CICS は、その名前を持つ OSGi サービスが OSGi フレームワークに既に存在することを検出しました。

タスクの結果

BUNDLE が有効で、OSGi バンドルが OSGi フレームワークに正常にインストールされ、OSGi サービスがアクティブになりました。OSGi バンドルとサービスが、フレームワークの他のバンドルで利用できます。

次のタスク

Java アプリケーションを、OSGi フレームワークの外部にある他の CICS アプリケーションで利用可能にすることができます。