![[z/OS]](ngzos.gif)
グループ内キューイングの利点
グループ内キューイングには、システム定義の削減、システム管理の削減、パフォーマンスの向上、マイグレーションのサポート、キュー共用グループ内のキュー・マネージャー間のマルチホップ時のメッセージのデリバリーなどの利点があります。
システム定義の削減
グループ内キューイングを使用すると、キュー共用グループ内のキュー・マネージャーどうしをつなぐチャネルを定義しなくて済みます。
システム管理の削減
キュー共用グループ内のキュー・マネージャーをつなぐ定義済みチャネルがないので、チャネル管理の必要がありません。
パフォーマンスの向上
ターゲット・キューへのメッセージのデリバリーに 1 つの IGQ エージェントしか必要ない (中間の 2 つの送信側および受信側エージェントは不要) ので、グループ内キューイングを使用したメッセージ・デリバリーは、チャネルを使用したメッセージ・デリバリーよりも安価になります。 グループ内キューイングでは、送信側コンポーネントは必要ないため、受信側コンポーネントしかありません。 このような簡素化が可能なわけは、ローカル・キュー・マネージャーでの書き込み操作の後、(同期点有効範囲内でのメッセージの書き込みの場合) コミットが完了すると、宛先キューに渡すためのメッセージが、宛先キュー・マネージャーの IGQ エージェントの手に入るからです。
マイグレーションをサポート
キュー共用グループ外部のアプリケーションは、キュー共用グループ内のいずれか 1 つのキュー・マネージャーに接続していれば、キュー共用グループ内のどのキュー・マネージャーに置かれているキューにでもメッセージを送達することができます。 これは、リモート・キュー・マネージャー上のキュー宛てのメッセージが受信側チャネルに着信すると、グループ内キューイングを使用してそのメッセージを宛先キューに透過的に送ることができるからです。 この機能のおかげで、キュー共用グループ外部のどのシステムも変更せずに、キュー共用グループの中にアプリケーションを配置することができます。
- キュー・マネージャー QMG1 に接続された要求側アプリケーションは、キュー・マネージャー QMG3 上のローカル・キューにメッセージを送る必要があります。
- キュー・マネージャー QMG1 はキュー・マネージャー QMG2 にのみ接続されています。
- キュー・マネージャー QMG2 と QMG3 は、以前はチャネルを使用して接続されていましたが、現在はキュー共用グループ SQ26 のメンバーです。
操作のフローは次のとおりです。
- 要求側アプリケーションは、リモート・キュー・マネージャー QMG3 のローカル・キュー LQ1 宛てのメッセージを、リモート・キュー定義 RQ1 に書き込みます。
- Windows ワークステーションで実行されているキュー・マネージャー QMG1は、メッセージを伝送キュー XQ1に入れます。
- QM1 の送信側 MCA (S) は、TCP/IP を介してチャネル・イニシエーター CHINIT2 上の受信側 MCA (R) にメッセージを送信します。
- チャネル・イニシエーター CHINIT2 上の受信側 MCA (R) は、共用伝送キュー SYSTEM.QSG.TRANSMIT.QUEUE にメッセージを入れます。
- キュー・マネージャー QMG3 の IGQ エージェントは、SYSTEM.QSG.TRANSMIT.QUEUE からメッセージを取り出し、ターゲット・ローカル・キュー LQ1 に入れます。
- サーバー・アプリケーションは、ターゲット・ローカル・キューからメッセージを取り出して処理します。
キュー共用グループ内のキュー・マネージャー間のマルチホップ時のメッセージのデリバリー
マイグレーションのサポート の前の図は、キュー共有グループ内のキュー・マネージャー間のマルチホップ時のメッセージの配信も示しています。 キュー共用グループ内のキュー・マネージャーに届くメッセージは、宛先がキュー共用グループ内の別のキュー・マネージャーのキューである場合でも、グループ内キューイングを使用して宛先キュー・マネージャーにある宛先キューに簡単に送信することができます。