ポリシー・スコープ

ポリシーは CICS® バンドルに定義されます。 ポリシーのスコープは、そのポリシーが CICS ユーザー・タスクにどのように適用されるかを表します。

ポリシーは、特定のスコープにデプロイされます。 スコープとして、領域スコープ、プラットフォーム・スコープ、アプリケーション・スコープ、または (アプリケーション内の) 操作スコープのいずれかが可能です。

プラットフォーム・スコープにポリシーがデプロイされると、それは、プラットフォーム内のユーザー・タスクのうち、それらのアプリケーション・コンテキスト内でプラットフォームが一致するものすべてに適用されます。 アプリケーション・スコープでポリシーがデプロイされると、それは、プラットフォーム内のユーザー・タスクのうち、そのアプリケーション・コンテキストでプラットフォーム、アプリケーション、およびアプリケーション・バージョン情報が一致するものすべてに適用されます。 操作スコープでポリシーがデプロイされると、それは、操作も一致するユーザー・タスクにのみ適用されます。

領域スコープを指定してポリシーをデプロイすることもできます。 この場合は、その CICS 領域で実行されているすべてのユーザー・タスクにポリシーが適用されます。 この方式は、プラットフォームやアプリケーションを定義できないスタンドアロン CICS 領域 (SMSS) で有用です。

表 1. ポリシーのスコープ設定
有効なポリシー・スコープ ポリシー・ルールの適用対象 ポリシーのデプロイ方法
 1 領域。 ポリシーのデプロイ先の CICS 領域内で実行されるすべてのユーザー・タスクに、ポリシー・ルールが適用されます。 ポリシーは、CSD または CICSPlex® SM データ・リポジトリーに定義され、いずれかの CICS 領域にインストールされた CICS BUNDLE リソースとしてデプロイされます。
 2 プラットフォーム。 プラットフォーム内のユーザー・タスクのうち、アプリケーション・コンテキストでプラットフォームが一致するユーザー・タスクすべてにポリシー・ルールが適用されます。 CICS プラットフォーム・プロジェクトを定義する際に、そのプラットフォームでデプロイされるポリシー定義を含む CICS バンドルに、それを追加します。ポリシーを既にアクティブなプラットフォームにデプロイする場合、ポリシー・バンドルを zFS のプラットフォーム・ホーム・ディレクトリーにエクスポートします。その後、CICS Explorer® ADDBUNDLE 操作ダイアログを使用して、そのバンドルを領域タイプにインストールします。ADDBUNDLE 操作ダイアログについて詳しくは、プラットフォームへの CICS バンドルの追加を参照してください。
 3 アプリケーション。 プラットフォーム内のユーザー・タスクのうち、アプリケーション・コンテキストでプラットフォーム、アプリケーション、およびアプリケーション・バージョン情報が一致するユーザー・タスクすべてにポリシー・ルールが適用されます。 CICS アプリケーション・プロジェクトを定義する際に、そのアプリケーションと共にデプロイされるポリシー定義を含む CICS バンドルをアプリケーション・プロジェクトに追加します。 または、アプリケーションのアーキテクチャーに応じて、アプリケーション・バインディングを使用して CICS バンドルをデプロイすることもできます。
 4 操作。 プラットフォーム内のユーザー・タスクのうち、アプリケーション・コンテキストでプラットフォーム、アプリケーション、アプリケーション・バージョン、および操作情報が一致するユーザー・タスクすべてにポリシー・ルールが適用されます。 まず、CICS バンドル内にポリシーを定義します。 次に、CICS マニフェスト・エディターで CICS バンドルのマニフェストを編集して、アプリケーション入り口点とポリシー・スコープを定義することにより、操作のスコープ設定を定義します。最後に、CICS バンドルを、デプロイメントのために CICS アプリケーション・プロジェクトに追加します。操作をターゲットとしたポリシー・スコープを定義した CICS バンドルを、プラットフォーム・プロジェクトと共にデプロイしたり、ADDBUNDLE 操作ダイアログを使用して既にアクティブなプラットフォームに追加したりすることはできません。 詳しくは、ポリシー・スコープの定義およびアプリケーション・エントリー・ポイントの定義を参照してください。
CICS 領域にポリシーがインストールされると、CICS はそのルールを、さまざまなスコープを指定してその CICS 領域にデプロイされた他のポリシーすべてと結合して、固有のランタイム・スコープごとに適用されるルール・セットを決定します。 複数の異なるスコープを指定してデプロイされた複数のポリシー・ルールが、同一タスクに適用される場合があります。 CICS Explorer の「クラウド・エクスプローラー」ビューを使用して、タスクに適用されるポリシー・ルールのセットを判別できます。 例えば、次のようになります。
  • 特定のアプリケーション・バージョンに対するポリシー・ルールを照会した場合は、スコープ  1  2 、および  3  で適用されるポリシー・ルールの集約が表示されます。このルール・セットが、このアプリケーション・バージョンのすべてのユーザー・タスクに適用されます。
  • アプリケーションの特定の操作に対するポリシー・ルールを照会した場合は、スコープ  1  2  3 、および  4  で適用されるポリシー・ルールの集約が表示されます。この照会は、アプリケーションに適用されるポリシー・ルールだけでなく、アプリケーションの特定の操作に適用される追加のポリシー・ルールも示します。
  • プラットフォームに対するポリシー・ルールを照会した場合は、スコープ  1  および  2  で適用されるポリシー・ルールの集約が表示されます。 この照会では、選択したプラットフォーム上で実行されるすべてのアプリケーション・タスクに適用されるポリシー・ルールがすべて表示されます。 そのプラットフォーム上で実行される特定のアプリケーション (またはアプリケーション操作) に対するポリシー・ルールを照会した場合、表示されるのはポリシー・ルールのサブセットです。
  • 同様に、領域タイプに対するポリシー・ルールを照会した場合も、スコープ  1  および  2  で適用されるポリシー・ルールの集約が表示されます。 この照会では、プラットフォーム上のこのタイプの領域で実行されるすべてのアプリケーション・タスクに適用されるポリシー・ルールがすべて表示されます。
ポリシー・ルールをこのように集約できるので、CICS はポリシー・ルールのいくつかのセットを以下のように維持します。
  • 領域スコープが指定されたすべてのポリシー・ルールのセット。
  • プラットフォーム・スコープが指定されたすべてのポリシー・ルールのセット (特定の CICS 領域がメンバーであるプラットフォームごとに 1 つ)。
  • 特定のアプリケーション・バージョンに対するすべてのポリシー・ルールのセット (CICS 領域にデプロイされたアプリケーション・バージョンごとに 1 セット)。
  • アプリケーション・バージョンの各操作に対するすべてのポリシー・ルールのセット (アプリケーション・バージョンの操作ごとに 1 セット)。
新しいユーザー・タスクが接続されると、CICS はそのタスクにポリシー・ルールのこれらのセットの 1 つを関連付けます。この関連付けは、そのタスクの存続期間中の次の 2 つの時点のいずれかで行われます。
  1. タスクの初期プログラムが呼び出されたとき。CICS はこの時点で、タスクのアプリケーション・コンテキストが設定されているかどうかに応じて、次のように処理します。
    • タスクのアプリケーション・コンテキストが設定されている場合、CICS はタスクのアプリケーション・コンテキストにスコープが最も一致するポリシー・ルールのセットを適用します。 CICS は、最も一致するものを以下のようにして調べます。
      1. CICS はまず、タスクのアプリケーション・コンテキストに含まれるプラットフォーム、アプリケーション、アプリケーション・バージョン、および操作にスコープが一致するルールのセットがあるかどうかを調べます。
      2. 一致するものが見つからなかった場合、CICS は次に、タスクのアプリケーション・コンテキストに含まれるプラットフォーム、アプリケーション、およびアプリケーション・バージョンに一致するルールのセットがあるかどうかを調べます。
      3. まだ一致するものが見つからなければ、CICS は次に、プラットフォーム名だけ一致するセットがあるかどうかを調べます。
      4. まだ一致するものが見つからなければ、CICS は次に、領域に適用されるルールのセットがあるかどうかを調べます。
      5. それでも一致するものが見つからなければ、タスクはポリシー・ルールなしで実行されます。
      このタスクの残りの存続期間中は、これらのポリシー・ルールが施行されます。 アプリケーション・コンテキストが変わったとしても、ポリシー・ルールは同じままです。
    • タスクのアプリケーション・コンテキストが設定されていない場合、CICS は、領域ポリシー・ルールのセットがあればそれをタスクに関連付けるだけです。
  2. タスクが EXEC CICS LINKXCTL、または INVOKE APPLICATION を使用してアプリケーション入り口点プログラムを呼び出したとき。 タスクの初期プログラムが呼び出された時点でアプリケーション・コンテキストが設定されている場合、タスクに対するポリシー・ルールは変わりません。 ただし、初期プログラムが呼び出された時点でアプリケーション・コンテキストが設定されていない場合、CICS はタスクのアプリケーション・コンテキストと一致するポリシー・ルールの最適なセットを上記のように探します。一致するものが見つかれば、初期プログラムが呼び出されたときにタスクに関連付けられた領域スコープ・ポリシー・ルールは、一致したポリシー・ルールのセットに置き換えられます。 この新しいセットには、そのような領域スコープ・ルールがすべて含まれます。
アプリケーション・コンテキストについて詳しくは、『製品の概要』の『アプリケーション・コンテキスト』を参照してください。

タスクの実行中、CICS は、特定のタイプのポリシー・ルールを低しきい値から高しきい値の順に適用します。 同じしきい値で複数のルールが適用される場合、CICS は、最初にメッセージ・アクション・ルールを処理し、次にイベント・アクション・ルールを処理し、最後にアベンド・アクション・ルールを処理します。 この方式により、タスクがアベンドされる前に、メッセージおよびイベントが確実に発行されます。