アプリケーションのアフィニティー
CICS®のメリットを最大限に活用するには、可能な限り多くのアフィニティを削除する必要があります。これは、いかなるトランザクションも単一の CICSの可用性に縛られることがあってはならないからです。
可用性の目標を達成するには、計画された CICS 領域の停止と計画外の停止の両方にわたってアプリケーションの可用性を維持できる必要があります。 すべての関連性を排除し、複数の領域に同じ機能を提供することで、 CICSがアクティブまたは非アクティブであるかに関係なく、すべての CICSにサービスを提供することができます。
- トランザクション間のアフィニティー
トランザクション間アフィニティとは、2つ以上の CICS トランザクション間のアフィニティです。 これは、トランザクション間で情報をやり取りしたり、トランザクション間でアクティビティを同期したりする際に、同じ CICSで実行する必要があるような手法が使用されることが原因で発生します。
トランザクション間のアフィニティーは、トランザクションの動的ルーティングに制限を加えるもので、次のような状況で生じる可能性があります。- あるトランザクションが終了し、状態データを残したまま、2番目のトランザクションが1番目のトランザクションCICSで実行しない限りアクセスできない状態になる。
- 最初のトランザクションが、その最初のトランザクションが実行されている間に 2 番目のトランザクションがアクセスするデータを作成する場合。 この作業を安全に実行するために、最初のトランザクションは通常、イベントを待ちます。そのイベントは、最初のトランザクションが作成したデータを 2 番目のトランザクションが読み取ったときに、2 番目のトランザクションによって通知されます。 この同期化手法では、両方のトランザクションが同じ CICSで実行されている必要があります。
- トランザクションとシステム間のアフィニティー
トランザクション・システム親和性とは、トランザクションと特定の CICS リージョン間の親和性を指します。 これは CICSのプロパティを照会または変更するトランザクションによって引き起こされます。 CICSと親和性のあるトランザクションは、他のトランザクションではなく、ダイナミック・トランザクション・ルーティングの対象にはなりません。 通常、これらは CICSの SPI コマンド( EXEC CICS INQUIRE や SET など)を使用するトランザクション、またはグローバル・ユーザー・エグジット・プログラムに依存するトランザクションです。
- 作業単位
作業単位のアフィニティーは、共用リソースを更新する同じトランザクション (UOW) の複数の要求が存在する場所です。 例えば、 Db2®またはVSAMレコードなど。
- アフィニティーの関係: 最も重要なのは、グローバルな LU 名、およびユーザー ID です。 トランザクションのインスタンスのターゲット領域を動的ルーティング・プログラムが選択する方法はこれらの要素によって決まるからです。
- アフィニティー存続時間: アフィニティーの終了時間が決まります。
アフィニティーをできるだけシステムから除去してください。 アフィニティーによって、複数システムでアプリケーションのインスタンスを実行できなくなる可能性があります。一部の必要なリソースが使用できなくなるためです。 CICSplex 環境からすべてのアフィニティーを除去すると、CICSplex の他の領域でアプリケーションを実行し続けることが可能になり、ユーザーに停止を意識させないようにすることができます。 存在しているアフィニティーを調べるときは、単一のアプリケーションを分離して見るのではなく、すべてのアプリケーションを考慮することが重要です。1 つのアプリケーションによって他のアプリケーションに制限が課される可能性があるからです。
CICSは、既存の親和性に対処するためのさまざまな選択肢を提供しており、その多くはアプリケーションに変更を加えることなく使用できます。
CICSplex におけるアフィニティーの影響の詳細については、 IBM® Redbooks® 資料 「Parallel Sysplex Application Considerations SG24-6523 を参照してください。 CICS Interdependency Analyzerを使用して類似性を識別する方法の詳細については、 IBM Redbooksの出版物 IBM CICS Interdependency Analyzer SG24-6458 を参照してください。 CICS Interdependency Analyzerの詳細については CICS Interdependency Analyzer for z/OS 』を参照してください。 親和性についての詳細は、 親和性をご覧ください。
CICSを使用することで、親和性を導入することもできます。