Liberty リソースのパッケージ化

Liberty リソースは、WebSphere® Application Server Network Deployment バージョン 9.0 のジョブ・マネージャーによるデプロイメント用の 1 つ以上の圧縮 (.zip) ファイルにパッケージ化できます。 この圧縮ファイル内でリソースがどのようにグループ化されているのかは、 リソースの有効範囲および共有に影響します。圧縮ファイル内のリソースを 正しくデプロイするには、そのリソースのパス名がジョブ・マネージャー・ルールを満たしている必要があります。

始める前に

『コマンド・プロンプトからの Liberty サーバーのパッケージ化 (Packaging a Liberty server from the command prompt)』に、package コマンドを実行して、Liberty ランタイム、共有リソース・ディレクトリー内のファイル、1 つの組み込みサーバー、およびサーバーに組み込まれるすべてのアプリケーションを含む圧縮ファイルを作成する方法が説明されています。 このタイプの Liberty・インストールをデプロイする場合、およびこのインストールをプロジェクト・ディレクトリーに配置する必要がない場合は、package コマンドを使用して圧縮ファイルを作成することを検討してください。 その他のタイプの Liberty・のインストールでは、1 つ以上の圧縮ファイルを手動で作成する必要があります。

このタスクについて

サポートされる Liberty・リソース・タイプ には、プロジェクト、ランタイム、Liberty サーバー、アプリケーション・バイナリー、 および Software Development Kit (SDK) があります。詳しくは、 『Liberty リソース』を参照してください。

ジョブ・マネージャーは、 以下のルールを使用して、圧縮ファイル内の異なるタイプの Liberty・リソースを 区別します。

  • プロジェクト・リソースは、オプションで、圧縮ファイル内の最上位ルート・ディレクトリーにあります。 この最上位のルート・ディレクトリーのサブディレクトリーは、他のリソースのルートです。プロジェクト・リソースを使用すると、関連するリソースをグループ化し、名前の競合を回避することができます。
  • ランタイム・リソースには、ファイル・パス runtime_name/bin/server または runtime_name/bin/server.bat が含まれます。 runtime_name ディレクトリーの下にあるものはすべて、このランタイム・リソースの一部と見なされます。
  • Liberty サーバー・リソースは、以下のルールのいずれかを満たしています。
    • ランタイム・リソース内に組み込まれている場合、Liberty サーバー・リソースには、ファイル・パス runtime_name/usr/servers/server_name/server.xml が含まれます。
    • ランタイム・リソースから独立している (分離されている) 場合、Liberty サーバー・リソースには、ファイル・パス servers/server_name/server.xml が含まれます。
  • アプリケーション・バイナリー・リソースは、以下の規則のうちの 1 つを満たします。
    • Liberty サーバー・リソース内に組み込まれている場合、アプリケーション・バイナリー・リソースには、ファイル・パス server_name/dropins/application_name または server_name/apps/application_name が含まれます。ここで、application_name の末尾は .ear.war、または .eba になります。
    • ランタイム・リソース内に組み込まれている場合、アプリケーション・バイナリー・リソースには、ファイル・パス runtime_name/usr/shared/apps/application_name が含まれます。ここで、application_name の末尾は .ear.war、または .eba になります。
    • ランタイム・リソースおよびサーバー・リソースから独立している (分離されている) 場合、アプリケーション・バイナリー・リソースには、任意のディレクトリー・パスに application_name ファイルが含まれます。ここで、application_name の末尾は .ear.war、または .eba になります。
  • SDK リソースには、ディレクトリー・パス JRE_name/jre/bin/java または JRE_name/bin/java が 含まれます。ここで、JRE_name は Java ランタイム環境の名前です。
ジョブ・マネージャーは、圧縮ファイル内のリソースのディレクトリー名を、 そのリソースの名前として使用します。例えば、Liberty ランタイム のディレクトリー名が 08.05.00.00 の場合、 そのリソース名は 08.05.00.00、 リソース ID は runtime/08.05.00.00 です。リソースに名前を 付けるときには、以下のガイドラインを考慮してください。
  • パッケージを複数のオペレーティング・システムにデプロイする場合、 それらのオペレーティング・システム間で移植可能なディレクトリー名とファイル名を使用してください。 例えば、Windows オペレーティング・システムにデプロイできるように、大文字か小文字かという点のみが異なる名前をリソースに付けないようにします。 つまり、jre_01.06.00Jre_01.06.00 を混用しないようにします。
  • メジャー番号とマイナー番号を含む バージョン番号 (例えば 8.5.0.1) をリソース名で使用する場合、 単純な字句ストリング比較を使用してバージョンを比較できるよう、 十分な桁数を割り振るようにしてください。8.5.0.1 ではなく、08.05.00.01 を使用してください。 この方式は、runtime-08.05.00.01jre-01.06.00_32 など、接頭部を使用する場合でも効果的です。

    この規則 を使用することによって、ジョブ・マネージャーでリソースを照会するときの バージョン比較が可能になります。例えば、ジョブ・マネージャーにおいて、 name > 08.05.00.11 を照会して、 名前 (およびバージョン) が 8.5.0.11 より大きいすべてのリソースを検出することができます。効率的な照会のために、 名前に含まれる各メジャー・バージョン番号とマイナー・バージョン番号に少なくとも 2 桁を 割り振ってください。そうしないと、誤った結果になります。例えば、8.5.0.2 > 8.5.0.11 ではなく 08.05.00.02 > 08.05.00.11 を照会に使用してください。

  • 関連リソースをグループ化するため、および、名前が競合しないようにするためには、プロジェクト名を使用します。

手順

必要な Liberty・インストールのタイプを決定してから、Liberty・リソースを含む 1 つ以上の圧縮 (.zip) ファイルを作成します。

例 1: 内蔵タイプの Liberty インストール
この例では、まず、1 つ以上のサーバー・ホストにデプロイするための、内蔵タイプの Liberty・インストールのパッケージ化方法について説明します。 次に、新しいバージョンのサーバーとそのサーバーがサポートするアプリケーションのパッケージ化方法について説明します。
Liberty・リソースの基本構造は以下のとおりです。
  • サーバー・ホスト
    • 作業リソース
      • プロジェクト
        • Liberty ランタイム
          • Liberty・サーバー 1
            • アプリケーション・バイナリー 1
          • Liberty・サーバー 2
            • アプリケーション・バイナリー 2
この例のインストールでは、以下が想定されます。
  • インストールには 2 つのサーバーが含まれます。
  • 各サーバーには、bootstrap.properties ファイル、server.xml ファイル、および 1 つのアプリケーションが含まれます。
  • 各サーバーは、Libertyの最小要件を満たす、事前にインストールされた SDK (JRE) を使用します。ジョブ・マネージャーを使用した SDK のインストールを予定している場合、関連するパッケージ化情報およびサーバー構成情報については『例 2』を参照してください。
  • Liberty・インストールは、作業ディレクトリー /liberty/working 内のプロジェクト・ディレクトリー・サンプルにデプロイされます (例えば、/liberty/working/samples など)。
デプロイ時の構造
この例の Liberty・インストールでは、サーバー・ホスト上に次のディレクトリー構造を持ちます。
[-] liberty
    [-] working
        [-] samples
            [-] wlp-08.05.00.00
                [+] bin
                [ ] clients
                [+] dev
                [ ] lafiles
                [+] lib
                [+] templates
                [-] usr
                    [-] servers
                        [-] SecuritySample-01.00-01
                                o bootstrap.properties
                                o server.env
                                o server.xml
                            [ ] apps
                                    o SecuritySample-01.00.war
                        [-] ServletSample-01.00-01
                                o bootstrap.properties
                                o server.env
                                o server.xml
                            [ ] apps
                                    o ServletSample-01.00.war
初期デプロイメントのパッケージ構造
Libertyインストールの初期デプロイメント用の圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれています。プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。
[-] samples
    [-] wlp-08.05.00.00
        [+] bin
        [ ] clients
        [+] dev
        [ ] lafiles
        [+] lib
        [+] templates
        [-] usr
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.00.war
                [-] ServletSample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o ServletSample-01.00.war
サーバーが、デフォルトのオペレーティング・システム・レベルの JRE ではない SDK (JRE) を使用する必要がある場合、ランタイム・レベルあるいはサーバー・レベルで server.env ファイル内の該当する JRE のロケーションを指定する必要があります。次に例を示します。
JAVA_HOME=/opt/jre-06.00.31
新しいバージョンのサーバーとアプリケーションを含むパッケージ構造
新しいバージョンのサーバーおよび、そのサーバーがサポートするアプリケーション用の圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが含まれます。 プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。
[-] samples
    [-] wlp-08.05.00.00
        [-] usr
            [-] servers
                [-] SecuritySample-01.01-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.01.war
例 2: SDK および Liberty ランタイムのホスト・レベルでの共有
この例では最初に、各サーバー・ホストに SDK (JRE) の単一共有インスタンス、Liberty・ランタイムの単一共有インスタンス、およびその共有 SDK と共有 Liberty・ランタイムに依存する 2 つの分離作業サーバーが含まれる環境における Liberty・リソースのパッケージ化の方法を説明します。次に、新しいバージョンのサーバーとそのサーバーがサポートするアプリケーションのパッケージ化方法について説明します。 分離 Liberty・サーバーを含む環境では、ジョブ・マネージャーの使用が必須です。つまり、サーバーの管理に Liberty サーバー・スクリプトは使用できません。

ホスト・レベルおよびネットワーク・レベルでのサーバー構成設定の共有については、構成における組み込みの使用に関する Liberty 資料を参照してください。

Liberty・リソースの基本構造は以下のとおりです。 この方法を使用すると、以降の追加サーバーのデプロイ時に保守を簡単に行うことができ、ディスク・スペースを節約できます。
  • サーバー・ホスト
    • 共有リソース
      • SDK (JRE)
      • Liberty ランタイム
    • 作業リソース
      • プロジェクト
        • Liberty・サーバー 1
          • アプリケーション・バイナリー 1
        • Liberty・サーバー 2
          • アプリケーション・バイナリー 2
この例のインストールでは、以下が想定されます。
  • SDK (JRE) および Liberty・ランタイムは、共有ディレクトリー /liberty/shared にデプロイされます。
  • 2 つの独立した作業サーバーは、作業ディレクトリー /liberty/working 内のプロジェクト・ディレクトリー・サンプルにデプロイされます (例えば、/liberty/working/samples など)。プロジェクト・ディレクトリーの組み込みはオプションです。
  • 各サーバーには、bootstrap.properties ファイル、server.env ファイル、server.xml ファイル、および 1 つのアプリケーションが含まれます。
デプロイ時の構造
この例の Liberty環境では、各サーバー・ホスト上に次のディレクトリー構造を持ちます。
[-] liberty
    [-] shared
        [-] jre-06.00.31
            [+] bin
            [+] lib
        [-] wlp-08.05.00.00
            [+] bin
            [ ] clients
            [+] dev
            [ ] lafiles
            [+] lib
            [+] templates
    [-] working
        [-] samples
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                    [ ] apps
                            o SecuritySample-01.00.war
                [-] ServletSample-01.00-01
                         o bootstrap.properties
                         o server.env
                         o server.xml
                    [ ] apps
                            o ServletSample-01.00.war
独立したサーバーはそれぞれ、共有 SDK (JRE) および共有 Liberty・ランタイムを使用するように構成されます。 共有リソースの場所は、各 server.env ファイルに保管されています。以下に例を示します。
JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31
WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
これらのパスには、ハードコーディングされたパスではなく、WLP_SHARED_DIR WebSphere 変数が組み込まれます。 独立したサーバーがサーバー・ホストにデプロイされる際に、ジョブ・マネージャーは、${WLP_SHARED_DIR} を実際の共有ディレクトリー・パス (この場合は /liberty/shared) で置き換えます。
初期デプロイメントのパッケージ構造
WLP_SHARED_DIR WebSphere 変数によって定義された共有リソース・ディレクトリーに SDK (JRE) および Liberty・ランタイムを最初にデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。 SDK および Liberty・ランタイムは複数のプロジェクト間で使用される可能性があるため、これらのリソースは 1 つのプロジェクト・ディレクトリーには組み込まれません。 この例では、SDK および Liberty・ランタイムが単一圧縮ファイル内にパッケージ化されます。 ただし、これらを 2 つの別々の圧縮ファイルにパッケージ化し、2 つの別々のインストール・ジョブをサブミットすることもできます。
[-] jre-06.00.31
    [+] bin
    [+] lib
[-] wlp-08.05.00.00
    [+] bin
    [ ] clients
    [+] dev
    [ ] lafiles
    [+] lib
    [+] templates

WLP_WORKING_DIR WebSphere 変数によって定義された作業リソース・ディレクトリーに Liberty・サーバーとそのアプリケーションを最初にデプロイするための圧縮 (.zip)ファイルには、以下のディレクトリーおよびファイルが組み込まれます。 プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。

[-] samples
    [-] servers
        [-] SecuritySample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o SecuritySample-01.00.war
        [-] ServletSample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o ServletSample-01.00.war
サーバーとアプリケーションを更新するためのパッケージ構造
WLP_WORKING_DIR WebSphere 変数によって定義された作業リソース・ディレクトリーに新しいバージョンのサーバーとそのアプリケーションを後でデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。 プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。
[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml
            [ ] apps
                    o SecuritySample-01.01.war
例 3: SDK、ランタイム、およびアプリケーションのネットワーク・レベルでの共有
制約事項: 例 3 は、Windows オペレーティング・システムでは機能しません。

この例では、SDK (JRE)、Liberty ランタイム、およびいくつかのアプリケーションが共有ディスクに保管され、2 つの分離 (作業) サーバーが各サーバー・ホストに格納される環境における、Liberty リソースのパッケージ化方法を最初に説明します。 次に、新しいバージョンのサーバーとそのサーバーがサポートするアプリケーションのパッケージ化方法について説明します。 分離 Liberty・サーバーを含む環境では、ジョブ・マネージャーの使用は必須です。 Liberty サーバー・スクリプトを使用してこれらのサーバーを管理することはできません。 ホスト・レベルおよびネットワーク・レベルでのサーバー構成設定の共有については、構成における組み込みの使用に関する Liberty 資料を参照してください。

Liberty・リソースの基本構造は以下のとおりです。 この方法を使用すると、保守を簡単に行うことができ、今後の追加サーバーのデプロイ時にディスク・スペースを節約できます。
  • 共有ディスク
    • 共有リソース
      • SDK (JRE)
      • Liberty ランタイム
      • アプリケーション・バイナリー 1
      • アプリケーション・バイナリー 2
  • サーバー・ホスト
    • 作業リソース
      • プロジェクト
        • Liberty・サーバー 1
        • Liberty・サーバー 2
この例のインストールでは、以下が想定されます。
  • SDK (JRE)、Liberty・ランタイム、およびアプリケーションは、パス /liberty/shared の共有ディスクにインストールされます。
  • 各サーバー・ホストで、(共有ディスク上の) 共有リソース・ディレクトリーが同じパス /liberty/shared にマウントされます。
  • 各サーバー・ホストで、2 つの独立した (作業用の) サーバーが作業ディレクトリー /liberty/working 内のプロジェクト・ディレクトリー・サンプルにデプロイされます (例えば、/liberty/working/samples など)。プロジェクト・ディレクトリーの組み込みはオプションです。
  • 各サーバーには、bootstrap.properties ファイル、server.env ファイル、および server.xml ファイルが含まれます。
デプロイ時の構造
この例の Liberty環境では、共有ディスク上およびサーバー・ホスト上に次のディレクトリー構造を持ちます。
Shared disk

[-] liberty
    [-] shared
        [-] jre-06.00.31
            [+] bin
            [+] lib
        [-] wlp-08.05.00.00
            [+] bin
            [ ] clients
            [+] dev
            [ ] lafiles
            [+] lib
            [+] templates
        [-] samples
            [ ] apps
                    o SecuritySample-01.00.war
                    o ServletSample-01.00-01.war
Server hosts

[-] liberty
    [-] working
        [-] samples
            [-] servers
                [-] SecuritySample-01.00-01
                        o bootstrap.properties
                        o server.env
                        o server.xml
                [-] ServletSample-01.00-01
                         o bootstrap.properties
                         o server.env
                         o server.xml
独立したサーバーはそれぞれ、共有 SDK (JRE) および共有 Liberty・ランタイムを使用するように構成されます。 共有リソースの場所は、各 server.env ファイルに保管されています。以下に例を示します。
JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31
WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
これらのパスには、ハードコーディングされたパスではなく、WLP_SHARED_DIR WebSphere 変数が組み込まれます。 独立したサーバーがサーバー・ホストにデプロイされる際に、ジョブ・マネージャーは、${WLP_SHARED_DIR} を実際の共有ディレクトリー・パス (この場合は /liberty/shared) で置き換えます。各サーバー・ホストで、リモートの共有リソース・ディレクトリーが /liberty/shared にマウントされます。
アプリケーションは、サーバーとは別の共有ストレージにあるため、各 server.xml ファイル内のアプリケーション・エレメントには、対応する WAR ファイルへの絶対パスを含める必要があります。以下に例を示します。
<application id="SecuritySample"
             location="/liberty/shared/apps/SecuritySample-01.00.war"
             name="SecuritySample" type="war"/>
server.xml ファイルへの変更を最小限にするために、アプリケーション・ディレクトリーおよびバージョン情報は、各サーバーの bootstrap.properties ファイル内の 2 つのプロパティーに保管することができます。例えば、次のようにします。
apps.dir=${WLP_SHARED_DIR}/${CURRENT_PROJECT}/apps 
security.sample.version=1.00
次に、WLP_SHARED_DIR WebSphere 変数と CURRENT_PROJECT 組み込みジョブ・マネージャー変数の両方を、各 server.xml ファイル内のアプリケーション・エレメントに組み込むことができます。
<application id="SecuritySample" 
             location="${apps.dir}/SecuritySample-${security.sample.version}.war"
             name="SecuritySample" type="war"/>
初期デプロイメントのパッケージ構造
WLP_SHARED_DIR WebSphere 変数によって定義された共有ディスク・ロケーションに、SDK (JRE)、Liberty・ランタイム、およびアプリケーションを最初にデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。 SDK および Liberty ランタイムは複数のプロジェクト間で共有される可能性があるため、これらのリソースは 1 つのプロジェクト・ディレクトリーには組み込まれません。 アプリケーションは、プロジェクト・ディレクトリー samples に組み込まれます。この例では、すべての共有リソースを単一圧縮ファイルにパッケージ化します。 ただし、これらを 3 つの個別の圧縮ファイルにパッケージ化し、3 つの個別のインストール・ジョブをサブミットすることもできます。
[-] jre-06.00.31
    [+] bin
    [+] lib
[-] wlp-08.05.00.00
    [+] bin
    [ ] clients
    [+] dev
    [ ] lafiles
    [+] lib
    [+] templates
[-] samples
    [ ] apps
            o SecuritySample-01.00.war
            o ServletSample-01.00.war

WLP_WORKING_DIR WebSphere 変数によって定義された作業リソース・ディレクトリーに Liberty・サーバーを最初にデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。

[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml
        [ ] ServletSample-01.00-01
                o bootstrap.properties
                o server.env
                o server.xml
アプリケーションとサーバーを更新するためのパッケージ構造
WLP_SHARED_DIR WebSphere 変数によって定義された共有ディスク・ロケーションに新しいバージョンのアプリケーションを後でデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。 プロジェクト・ディレクトリー samples は、このファイルのルートにあります。
[-] samples
    [ ] apps
            o SecuritySample-01.01.war

WLP_WORKING_DIR WebSphere 変数によって定義された作業リソース・ディレクトリーに新しいバージョンのサーバーを後でデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。 プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。

[-] samples
    [-] servers
        [-] SecuritySample-01.01-01
                o bootstrap.properties
                o server.env
                o server.xml

server.xml ファイル内のアプリケーション・エレメントは、WAR ファイルのバージョン 1.01 を含めるように変更する必要があります。以下に例を示します。

<application id="SecuritySample"
             location="/liberty/shared/apps/SecuritySample-01.01.war"
             name="SecuritySample" type="war"/>

あるいは、bootstrap.properties ファイルにアプリケーションのバージョン情報が含まれている場合は、そのファイルを適宜変更する必要があります。以下に例を示します。

security.sample.version=1.01

次に、更新したバージョン情報を server.xml ファイル内のアプリケーション・エレメントに使用します。以下に例を示します。

<application id="SecuritySample" 
             location="${apps.dir}/SecuritySample-${security.sample.version}.war"
             name="SecuritySample" type="war"/>

次のタスク

ジョブ・マネージャーが Liberty・リソースをインストールおよび検索することを 可能にする変数を設定します。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tagt_jobmgr_pkg_cs_res
ファイル名:tagt_jobmgr_pkg_cs_res.html