CICS バンドル内リソースの特性
CICS® リソースの一部の特性は、 CICS バンドルで定義され、バンドル・デプロイメントの一部として動的に作成されるため、変更されます。 アプリケーションのアーキテクチャーを設計する場合、または CICS バンドルで定義する既存のアプリケーションからリソースを選択する場合は、以下の重要な考慮事項に注意してください。
- FILE
- JVMSERVER
- LIBRARY
- PIPELINE
- PROGRAM
- TCPIPSERVICE
- TRANSACTION
- URIMAP
- WEBSERVICE
バンドルとリソースの相互依存関係
CICS バンドルを使用する場合、インストールされたリソースのライフサイクルは、バンドルのライフサイクルに従います。 CICS バンドルを使用可能または使用不可にするか、使用可能または使用不可にするか、あるいは破棄すると、 CICS バンドルによって動的に作成されたすべてのリソースに同じアクションが適用されます。 さらに、 CICS バンドルがアプリケーション・バンドルに含まれている場合は、 CICS バンドルをアプリケーションの一部として管理します。
CICS バンドルが動的にリソースを作成して CICS 領域にインストールすると、リソースの状態は、リソースのインストールに使用された CICS バンドルを介して管理されます。 動的に作成されたリソースを使用可能または使用不可にするには、 CICS バンドルに対してそのアクションを実行します。 アプリケーションの一部として管理される CICS バンドル内のリソースの場合、アプリケーション・エントリー・ポイントを宣言することによって、リソースへのユーザーのアクセスも制御します。 PROGRAM、TRANSACTION、および URIMAP リソースをアプリケーション・エントリー・ポイントとして宣言し、それをユーザーに対して使用可能または使用不可に設定できます。 アプリケーション・エントリー・ポイントを使用して、 CICS バンドルとそのリソースを含むアプリケーションをインストールし、それらを使用可能にしてインストールを検証することができます。 ユーザーにサービスを提供することを選択した場合は、 CICS Explorer®を使用して、 CICS バンドルを含むアプリケーションを使用可能にします。 このアクションにより、呼び出し元がアプリケーション・エントリー・ポイント、および CICS バンドル内のリソースを使用できるようになります。 アプリケーション・エントリー・ポイントを含む個々の CICS バンドルは、 EXEC CICS SET BUNDLE コマンドを使用して使用可能にすることもできます。
一般に、 CICS バンドルによって動的に作成およびインストールされたリソースの属性を直接変更することはありません。 代わりに、必要な変更を加えて、新しいバージョンの CICS バンドルをインストールします。 ただし、 CICS バンドルによってインストールされた一部の長期リソース (FILE、TCPIPSERVICE、および JVMSERVER リソースなど) は、 CICS システム・コマンドを使用して直接変更できます。ただし、変更は CICSのウォーム・リスタート後にはリカバリーされません。
CICS バンドルで定義されているリソースの状態の変更に関する規則に対して、JVMSERVER および TCPIPSERVICE リソースについても例外が発生します。 デフォルトでは、これらのリソースは、それらを使用している現行タスクがすべて完了してからでないと無効にされません。 これらのリソースを即時に除去する必要がある状況では、 CICS 領域内の動的に作成されたリソースに対して SET JVMSERVER PURGE、FORCEPURGE、または KILL コマンド、あるいは SET TCPIPSERVICE IMMCLOSE コマンドを使用して、リソースがまだ使用中のときに使用不可プロセスを強制的に完了することができます。 動的に作成されたリソースに対してこれらのコマンドを発行できるのは、 CICS バンドルまたはそれがデプロイされているアプリケーションを使用不可にしようとした後に限られます。
- プログラムに関連付けられた URI マップを、プログラムを無効にしないで修正する場合。 変更を有効にするために、URI マップとプログラム・リソースを異なる CICS バンドルにパッケージすることができます。
- CICSplex 全体でプログラムを使用不可にすることなく、 CICS バンドルによって複数の CICS 領域にインストールされたプログラムを再ロードする必要があります。 再ロードするために、プログラム変更を各 CICS 領域に一度に 1 つの領域ずつ個別に適用できます。 変更を適用している間、現在更新中の領域をバイパスするように作業を構成できます。
アプリケーションまたは CICS バンドルが CICS リソースを CICS 領域で使用可能にする必要があるが、リソースのライフサイクルを CICS バンドルのライフサイクルに結び付けたくない場合は、そのリソースを CICS バンドルの依存関係として追加することができます。 依存関係またはインポートは、バンドル・マニフェストの < import> エレメントで指定されます。 必要なインポートの 1 つが CICS 領域に存在しない場合に、 CICS がバンドルのインストール時に実行するアクションを指定できます。例えば、 CICS バンドルを使用不可のままにしたり、使用可能にしたりすることができますが、警告メッセージが表示されます。 依存関係について詳しくは、 CICS バンドルのマニフェストの内容を参照してください。
CICS バンドルで定義されているインストール済みリソースは、重複する名前のリソース定義によって上書きすることはできません。 リソースを含むバンドル・パーツがインストールされている場合、別の CICS バンドルを使用して、または RDO、EXEC CICS CREATE コマンドまたはその他の方法を使用して重複リソースをインストールしようとすると、要求は拒否されます。 また、 CICS バンドルで定義されている重複リソースでインストール済みリソースを上書きすることもできません。 CICS バンドルをインストールしようとしたときに、同じ名前とリソース・タイプのリソースが存在する場合、そのリソースを含むバンドル・パーツはインストールされず、 CICS バンドルは使用不可の状態になります。 したがって、 CICS バンドルで定義されたリソースは、重複するリソース名によって誤って上書きされないように保護されます。
バンドル内の専用リソース
CICS バンドル内の特定のリソース・タイプの定義を作成し、 CICS バンドルをプラットフォーム上のアプリケーションの一部としてデプロイすると、動的に作成されるリソースは、そのアプリケーションのそのバージョン専用になります。 専用リソースは、プラットフォームにインストールされている他のアプリケーションやバージョンでは使用できません。また、 CICS 領域内の他のタスクでは使用できません。 この方法でデプロイしたリソースには固有の名前を付ける必要がありません。また、以前のバージョンのリソースを無効にする必要なしに、アプリケーション・バージョンの一部として複数のバージョンのリソースをデプロイできます。 専用リソース、およびサポートされるリソース・タイプについて詳しくは、 アプリケーションの専用リソースを参照してください。
プラットフォーム・バンドルと一緒にデプロイされるリソース
TCPIPSERVICE リソース、JVM サーバー、およびパイプラインは、プラットフォーム内の複数の CICS 領域で必要になる可能性があり、複数のアプリケーションを実行するために使用されるリソースです。 プラットフォームの便利なスケーリングを使用可能にするには、アプリケーションの一部としてではなく、プラットフォーム・バンドルの一部として TCPIPSERVICE、JVMSERVER、および PIPELINE リソースの CICS バンドルをデプロイすることをお勧めします。 リソースがインストールされるプラットフォーム内の CICS 領域を指定できます。 新しいリソースの場合は、プラットフォームのインストール後に、実行中のプラットフォームに新しい CICS バンドルを追加できます。
特定の CICS リソース (PIPELINE および JVMSERVER リソースを含む) は、それらに依存する他のリソースをインストールする前に、インストールして使用可能にする必要があります。 これらのリソースを使用すると、プラットフォーム・アーキテクチャーを使用して依存関係を管理することができます。 プラットフォーム・バンドルの一部として、必要なリソースの定義を含む CICS バンドルをデプロイしてから、プラットフォームにデプロイされるアプリケーションの一部として、従属リソースを含む CICS バンドルをデプロイします。 このアーキテクチャーにより、リソースが最初に CICS 領域にインストールされるとき、または CICS 領域が再始動されるときに、必要なリソースと従属リソースが正しい順序でインストールされ、使用可能になります。
大/小文字混合のリソース名
CICS バンドルは、 CICSでサポートされているリソースの大/小文字混合の名前をサポートします。 ただし、ご使用のファイル・システムでは、同じ名前であっても大文字と小文字が異なるファイルを同じ CICS バンドル・プロジェクトに入れることはできない場合があります。 異なる大/小文字を使用する重複したリソース名が必要な場合は、これらのリソースを別個の CICS バンドル・プロジェクトに定義してください。
リソース名の中のエスケープ文字
CICS バンドルを CICS Explorerに保存すると、リソース名の特定の文字がエスケープされ、リソースをさまざまなファイル・システムで使用できるようになります。 CICS Explorer で CICS バンドルを展開し、 CICS バンドルで定義されているリソースを表示すると、リソース名がエスケープ・シーケンスとともに表示されます。 編集のためにリソースを開くと、リソース名は元のアンエスケープされた文字で表示されます。
| 文字 | エスケープ・シーケンス |
|---|---|
| . (ピリオド) | %2E |
| / (スラッシュ) | %2F |
| & (アンパーサンド) | %26 |
| ? (疑問符) | %3F |
| : (コロン) | %3A |
| | (縦棒) | %7C |
| " (二重引用符) | %22 |
| ; (セミコロン) | %3B |
| < (より小) | %3C |
| > (より大きい) | %3E |
| ¬ (論理否定) | %AC |
FILE リソース
- VSAM ファイル (これには、CICS 保守、ユーザー保守、およびカップリング・ファシリティー・データ・テーブルを参照するファイルと、VSAM データ・セットを参照するファイルが含まれます)
- リモート VSAM ファイル
- リモート BDAM ファイル
CICS バンドルから動的に作成される FILE リソースの初期状況は、リソースを定義する CICS バンドルの初期状況から導出されます。 そのため、FILE リソースの STATUS に UNENABLED を定義しても、アプリケーションがそれらのファイルを暗黙的に開くことを禁止することはできません。
動的に作成される FILE リソースでは、PASSWORD 属性はサポートされません。
CICS バンドル内で定義されているファイルをインストールすると、そのファイルはカタログに追加されます。 CICS は、ウォーム・リスタートまたは緊急リスタート時に、バンドルによってインストールされたファイルをカタログからリカバリーします。 これらのリカバリーされたファイルは、CICS リカバリーでのみ使用されます。 CICS によるリカバリーが完了すると、これらのすべてのファイルは削除されます。 バンドルが再作成されるときに、CICS はバンドル・ディレクトリーから定義を取得して新しいファイルを作成します。 カタログからリカバリーされたファイルに保持ロックがある場合、そのファイルはリカバリーの完了時に削除できません。その結果、ファイルは孤立し (どのバンドルにも属さない)、CICS のリスタート後に手動で削除する必要があります。
JVMSERVER リソース
CICS バンドルにパッケージされている JVM サーバーの場合、JVM プロファイルは CICS バンドル内のリソース定義と一緒にパッケージされます。 したがって、 CICS 領域のローカル JVM プロファイル・ディレクトリーに JVM プロファイルをセットアップしなくても、任意の CICS 領域に JVM サーバーをインストールできます。
JVM サーバーを作成する場合、OSGi JVM サーバー、 Axis2 JVM サーバー、または Liberty JVM サーバー用のサンプル・テンプレートを使用して JVM プロファイルを作成するか、ワークスペース内の他の場所またはローカル・ファイル・システムから CICS バンドルに既存の JVM プロファイルをインポートすることができます。
JVMSERVER リソースが CICS バンドルで定義されている場合、JVM プロファイル名の許容文字セットはさらに制限されます。 詳しくは、 JVMSERVER 属性を参照してください。 JVM プロファイルが保管されるディレクトリーのディレクトリー名は 240 文字に制限されています。これは、 CICS バンドルで定義されていない JVM プロファイルに適用される制限と同じです。
CICS バンドルに定義されている JVM サーバーは、OSGi バンドル、またはそこで実行される Java™ アプリケーション用のその他のアプリケーション成果物をインストールする前に、インストールして使用可能にする必要があります。 JVMSERVER リソースの定義を含む CICS バンドルをプラットフォーム・バンドルの一部としてデプロイし、プラットフォームにデプロイされるアプリケーションの一部として OSGi バンドルまたはその他の Java アプリケーション成果物を含む CICS バンドルをデプロイすることをお勧めします。 このアーキテクチャーにより、リソースが最初に CICS 領域にインストールされたとき、または CICS 領域が再始動されたときに、JVM サーバーと Java アプリケーション・リソースが正しい順序でインストールされ、使用可能になります。
LIBRARY リソース
LIBRARY リソースが CICS バンドルに含まれる場合、その LIBRARY リソースは、その CICS バンドルによって使用されるモジュールをロードするためにのみ使用する必要があります。 この要件は、スタンドアロンの CICS バンドルには適用されませんが、プラットフォーム上のアプリケーションの一部としてパッケージ化されてインストールされる CICS バンドルには適用されます。
LIBRARY リソースに関連付けられた BUNDLEPART リソースは、LIBRARY 連結とそれからロードされたすべてのプログラムの使用回数がゼロにならないと、DISABLED 状況を報告しません。 バンドル無効化プロセスを完了できるようにするために、 CICS から作業をパージすることが必要な場合があります。
CICS バンドルによって定義およびインストールされた LIBRARY 連結からプログラムがロードされる場合、そのプログラムは、独立して定義されている可能性があっても、 CICS バンドル内で定義されたかのように扱われます。 これらのプログラムのライフサイクルは、LIBRARY リソースが定義されている CICS バンドルのライフサイクルに準拠します。 LIBRARY リソースを含む CICS バンドルが使用不可になっている場合、その LIBRARY 連結からロードされたすべてのプログラムが使用不可になります。
PIPELINE リソース
CICS バンドルにパッケージ化されているパイプラインの場合、パイプライン構成ファイルも CICS バンドル内のリソース定義とともにパッケージ化されます。 パイプライン構成ファイルは、CICS 提供のサンプル・パイプライン構成ファイルの 1 つを使用して作成するか、ローカル・ファイル・システムから既存のパイプライン構成ファイルをインポートすることができます。
PIPELINE リソースが CICS バンドルにパッケージされている場合、 CICS バンドルを使用して定義される WEBSERVICE リソースをホストするためのプラットフォームの一部としてデプロイする必要があります。 CICS バンドルで定義された PIPELINE リソースは、 CICS バンドルで定義された WEBSERVICE リソース、またはパイプライン・スキャンによって動的に作成された WEBSERVICE リソースでのみ使用できます。 CICS CSD または BAS を使用して定義された WEBSERVICE リソースは、 CICS バンドルで定義された PIPELINE リソースと互換性がありません。
CICS バンドルにパッケージされている PIPELINE リソースをインストールして有効にしてから、それを必要とする WEBSERVICE リソースをインストールする必要があります。 プラットフォーム・バンドルの一部として PIPELINE リソースの定義を含む CICS バンドルをデプロイしてから、プラットフォームにデプロイされるアプリケーションの一部として、WEBSERVICE リソースを含む CICS バンドルをデプロイすることをお勧めします。 このアーキテクチャーにより、リソースが最初に CICS 領域にインストールされるとき、または CICS 領域が再始動されるときに、PIPELINE リソースと WEBSERVICE リソースが正しい順序でインストールされ、使用可能になります。
CICS バンドルで定義されている PIPELINE リソースは WSDIR 属性を指定できますが、これは推奨されません。 SHELF 属性は、 CICS バンドルで定義されている PIPELINE リソースには使用されません。
PROGRAM リソース
プログラムが使用中で、そのプログラムのインストール元の CICS バンドルが使用不可になっている場合、 CICS はそのプログラムを使用不可にし、そのプログラムによって新しい作業を開始することはできません。 ただし、関連付けられた BUNDLEPART リソースは、プログラムの使用回数がゼロになるまで、有効のままになります。 その結果として、その期間のあいだは BUNDLEPART リソースとプログラムの両方から報告される状態が異なることになります。 許容される間隔が経過してもプログラムの使用回数がゼロにならない場合は、バンドル無効化プロセスを完了できるように、 CICS から作業をパージすることが必要な場合があります。
バンドルの状態が DISABLING から DISABLED に変更されると、 CICS バンドルを破棄できます。 ただし、 CICS バンドルを破棄すると、バンドルによってインストールされたプログラムは破棄され、 CICS バンドルが再インストールされるまで使用不可になります。
PROGRAM NEWCOPY プロセスおよび PROGRAM PHASEIN プロセスは、 CICS バンドルからインストールされたプログラムでは使用できません。 CICS バンドルで定義されたプログラムのプロセスは、新しいバージョンの CICS バンドル、または CICS バンドルのデプロイに使用されたアプリケーションをインストールすることです。 スタンドアロン CICS バンドルで定義された PROGRAM リソースの場合、新しいバージョンをインストールする前に、前のバージョンの CICS バンドルをアンインストールする必要があります。 CICS バンドルで定義されている PROGRAM リソースをプラットフォーム上のアプリケーションの一部としてデプロイする場合、旧バージョンをアンインストールせずに新しいバージョンの PROGRAM リソースをインストールし、ユーザーが新しいバージョンを使用できるように管理することができます。 アプリケーションのマルチバージョン管理について詳しくは、 プラットフォームにデプロイされたアプリケーションのマルチバージョン管理を参照してください。
CICS バンドルによってインストールされるプログラムは、PLT からの呼び出しには適していません。
PROGRAM リソースはアプリケーション・エントリー・ポイントとして宣言できますが、アプリケーション・エントリー・ポイントとして宣言するために CICS バンドルで PROGRAM リソースを定義する必要はありません。 アプリケーション入り口点として宣言されるプログラムには、使用環境内で固有の PROGRAM リソース名が必要です。 アプリケーション・エントリー・ポイントとしてのプログラムについて詳しくは、 アプリケーション・エントリー・ポイントを参照してください。
TRANSACTION リソース
トランザクションには、EXEC CICS START コマンドによってスケジュールされた時間に開始される作業を割り当てることができます。 その作業が CICS バンドルの無効化後に開始するようにスケジュールされている場合、スケジュールされている作業は取り消され、そのトランザクションで新しい作業を開始できません。 CICS バンドルが再度有効になっても、取り消された作業のスケジュールは変更されず、その作業は取り消されたままになります。
TRANSACTION リソースはアプリケーション・エントリー・ポイントとして宣言できますが、アプリケーション・エントリー・ポイントとして宣言するために CICS バンドルで TRANSACTION リソースを定義する必要はありません。 アプリケーション・エントリー・ポイントとして宣言される TRANSACTION には、使用環境内で固有の TRANSACTION リソース名が必要です。 アプリケーション・エントリー・ポイントとしての TRANSACTION について詳しくは、 アプリケーション・エントリー・ポイントを参照してください。
URIMAP リソース
WEBSERVICE リソースは、通常、少なくとも 1 つの URIMAP リソースに関連付けられます。 URIMAP リソースを WEBSERVICE リソースと同じバンドルにパッケージすることもできますが、WEBSERVICE リソースのデプロイ先のプラットフォームごとにカスタマイズできるように別個のバンドルにパッケージするほうが良い場合があります。 例えば、品質保証プラットフォームで使用する URI は実動プラットフォームとは異なるものを使用する場合があります。また、実動プラットフォームでは WEBSERVICE リソースのミラー・トランザクションを定義して、単体テスト・プラットフォームでは定義しない場合もあります。
CICS アプリケーション・バンドルで URIMAP リソースを定義する場合、アプリケーション・エントリー・ポイント宣言を使用して、URIMAP リソースによって提供されるサービスへのユーザーのアクセスを制御できます。 この場合、アプリケーションをインストールして有効にした時点では、URIMAP リソースによって提供されるサービスを呼び出し元が使用することはまだできません。 ユーザーにサービスを提供することを選択した場合は、 CICS Explorer を使用して、 CICS バンドルを含むアプリケーションを使用可能にします。 これにより、アプリケーション・エントリー・ポイントが呼び出し元に対して使用可能になるため、URIMAP リソースによって提供されるサービスが呼び出し元に対して使用可能になります。
アプリケーションの外側に定義された URIMAP リソースを、アプリケーション・エントリー・ポイントとして宣言することもできます。 この場合、URIMAP リソースをインストールおよび使用可能にするとすぐに、ユーザーはサービスを使用できるようになります。
URIMAP リソースを使用して HTTP サーバーとしての CICS からの静的応答を提供する場合、HFSFILE 属性は、応答の本体を形成する z/OS® UNIX System Services zFS ファイルの名前を指定します。 CICS バンドルで定義されている URIMAP リソースの場合、 zFS ファイルを URIMAP リソースとともに CICS バンドルにパッケージする必要があります。 HFSFILE 属性は、 CICS バンドルのルート・ディレクトリーに対する相対ファイル・パスを指定する必要があります。 相対ファイル・パスの場合、パスの先頭にスラッシュを使用しません。 詳しくは、 バンドル内の zFS 成果物の参照を参照してください。 バンドルの外側の zFS ロケーションを絶対参照することも可能ですが、この方法は使用しないことを強くお勧めします。
WEBSERVICE リソース
CICS バンドルにパッケージされている Web サービスの場合、リソース定義とともにバンドルにパッケージ化する Web サービス・バインディング・ファイルと WSDL 文書または WSDL アーカイブ・ファイルをインポートできます。 Web サービスをサポートするために、 CICS バンドルにパッケージされた WEBSERVICE 定義を使用して、別個のバンドルに URIMAP 定義を生成できます。 また、その URI マップに対する別名トランザクションと、WSDL ディスカバリー用のオプションの URIMAP 定義を作成することもできます。
CICS バンドルにパッケージされている Web サービスには、DISABLING および DISABLED という追加の状態がありますが、これらは他の方法を使用して作成された Web サービスには適用されません。 CICS バンドルの使用不可化が進行中の場合、バンドルに定義されている WEBSERVICE リソースは DISABLING 状態になります。 現在実行中の作業は完了できますが、Web サービスは新規の作業を受け入れません。 Web サービスが使用中でなくなった時点で、WEBSERVICE リソースは DISABLED 状態に入ります。 DISABLING または DISABLED 状態の Web サービスへの要求は拒否され、SOAP 障害 ( Web サービスはサービス中ではありません
) が送信されます。 CICS が Web サービス・リクエスターである場合、INVOKE SERVICE コマンドは INVREQ の RESP コードと 8 の RESP2 値を返します。
CICS バンドルが再び使用可能になると、WEBSERVICE リソースは INSERVICE 状態に戻ります。 それ以外の場合は、 CICS バンドルを破棄することによって WEBSERVICE リソースを破棄できます。 WEBSERVICE リソースの状態は、EXEC CICS または CEMT INQUIRE WEBSERVICE コマンド、CICSPlex ® SM Web ユーザー・インターフェース、または CICS Explorerを使用して照会できますが、手動で設定することはできません。