JVM サーバーへの OSGi バンドルの配置

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

始める前に

アプリケーションの OSGi バンドルが入っている CICS® バンドルは、zFS に配置されなければなりません。ターゲット JVM サーバーは、OSGi フレームワークを実行するように構成され、CICS 領域で使用可能でなければなりません。CICS リソースを作成するには、CICS Explorer® を使用して CICS 領域に接続する必要があります。

このタスクについて

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

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

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

手順

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

タスクの結果

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