[z/OS]

WebSphere MQ をメッセージング・プロバイダーとして使用する ASF メッセージ駆動型 Bean のメッセージング・フロー

アプリケーション・サーバー機能 (ASF) は、JMS 仕様に対するオプションの ASF 拡張機能が組み込まれたメッセージング・プロバイダーとともに使用されます。z/OS® では、こうした拡張機能は WebSphere MQ メッセージング・プロバイダーによって実装されます。WebSphere® Application Server Version 7.0 からは、JCA は、従来の ASF テクノロジーに優先します。

WebSphere Application Server でのメッセージ駆動型 Bean に対する ASF サポートは、メッセージ・リスナー・サービスと呼ばれています。ASF メッセージ駆動型 Bean アプリケーション をインストールする際には、構成情報を メッセージ・リスナー・ポート として指定します。

図 1. WebSphere MQ 接続 - メッセージ・リスナー・サービス (ASF)
WebSphere Application Server スケーラブル・サーバーのインストール済み環境には、1 つの制御領域 (CR) と
いくつかのサーバント領域 (SR) があります。CR にはメッセージ・リスナー・サービス
が含まれ、SR にはアプリケーションが含まれています。メッセージは、WebSphere MQ から CR 内のメッセージ・リスナー・サービス
へ、WebSphere Application Server インストール済み環境内の zWLM キューを経由して流れ、
その後 SR 内のアプリケーションに
達します。また、メッセージは、直接 WebSphere MQ から SR 内のアプリケーションに
流れ、アプリケーションから WebSphere MQ に戻る場合もあります。
アウトバウンド通信は SR から流れます。
z/OS では、ASF は、2 つの異なるメッセージング・フロー・パターンで使用されます。
  • 非永続サブスクリプションを除くすべてのメッセージ・ソースの場合、メッセージ・リスナーは、制御領域 (CR) で実行します。すなわち、こうしたメッセージに対する コントローラー内での listen となります。
  • 非永続サブスクリプションの場合、メッセージ・リスナーは、サーバント領域 (SR) で実行します。すなわちこうしたメッセージに対する サーバント内での listen となります。

コントローラー内での listen

以下の図は、メッセージ・リスナーがコントローラーで listen している場合の WebSphere MQ ASF メッセージング・フローを示しています。

z/OS WebSphere Application Server では、ASF は、メッセージ駆動型 Bean リスナーが CR 内にあって、作業が SR 内のメッセージ駆動型 Beanディスパッチャーに分散されるようなメッセージ駆動型処理をサポートします。パブリッシュ/サブスクライブの場合は、 各 SR に対して個別のサブスクリプションがあるのではなく、サーバー全体に対して 1 つのサブスクリプションを登録するリスナーが 1 つ あることに注意してください。

図 2. WebSphere MQ ASF - コントローラー内での listen
WebSphere Application Server スケーラブル・サーバーのインストール済み環境は、1 つの
制御領域 (CR) と複数のサーバント領域 (SR) で構成されます。
CR には、WebSphere MQ からのメッセージを
処理する WebSphere MQ Java クライアントと、ワークロード分類用の WebSphere MQ ASF リスナー
が含まれています。各 SR には、WebSphere MQ Java クライアント、WebSphere MQ ASF ディスパッチャー、
および、メッセージ駆動型 Bean を含んでいる EJB コンテナーが、
それぞれ 1 つずつ含まれています。このインストール済み環境には、多数の WLM キュー
もあります。WebSphere Application Server がインストールされているだけでなく、
メッセージ発生元の WebSphere MQ キューを含んでいる WebSphere MQ インスタンス
もあります。図の後の本文で、
これらのアイテムを経由するメッセージ・パスについて説明しています。
処理は次のように 行われます。
  1. メッセージが JMS 宛先 (図では WebSphere MQ キューとして示しています) に到着すると、リスナーがそのメッセージのコピーを受信します。リスナーはメッセージを宛先から削除 しません。
  2. リスナーは、メッセージのトランザクション・クラスを判断し、z/OS ワークロード管理 (WLM) を使用して、メッセージ・トークン (実際のメッセージではない) を SR に渡します。ワークロード管理 は、トランザクション・クラスに基づいて適切な SR を選択します。
  3. ディスパッチャーがメッセージ・トークンを使用してメッセージを受け取り、 メッセージ駆動型 Bean の onMessage メソッドに渡します。ディスパッチャーはメッセージを宛先から 削除します。

サーバント内での listen

以下の図は、メッセージ・リスナーがサーバント領域で listen している場合の WebSphere MQ ASF メッセージング・フローを示しています。

この図 で示されているのは、 メッセージ駆動型 Bean リスナーとメッセージ駆動型 Bean ディスパッチャーの両方 が同じ SR 内で稼働するという、特殊な形式の ASF メッセージ駆動型 Bean 処理です。WebSphere Application Server は、 非永続パブリッシュ/サブスクライブ・メッセージング用にこの構成を使用します。各 SR は それぞれ独自のサブスクリプションを登録するので、 同じパブリケーションの複数のコピー (つまり、 各 SR ごとに 1 つの同じパブリケーションのコピー) を 1 つのサーバーが受け取って処理する可能性があります。

図 3. WebSphere MQ ASF - サーバントでの listen
WebSphere Application Server スケーラブル・サーバーのインストール済み環境は、1 つの
制御領域 (CR) と複数のサーバント領域 (SR) で構成されます。
WLM ルーティングは CR 内で
行われます。各 SR には、WebSphere MQ Java クライアント、
WebSphere MQ MDB リスナー、WebSphere MQ MDB ディスパッチャー、および、
メッセージ駆動型 Bean を含んでいる EJB コンテナーがそれぞれ 1 つずつ含まれています。このインストール済み環境
には WLM キューもあります。WebSphere Application Server がインストールされているだけでなく、
メッセージ発生元の WebSphere MQ キューを含んでいる WebSphere MQ インスタンス
もあります。図の後の本文で、
これらのアイテムを経由するメッセージ・パスについて説明しています。
処理は次のように 行われます。
  1. メッセージが宛先 (図では WebSphere MQ キューとして示しています) に到着すると、リスナーがそのメッセージのコピーを受信します。リスナーはメッセージを宛先から削除 しません。
  2. リスナーは、z/OS WLM を使用して同じ SR にメッセージ・トークンを戻す、CR 内のコードを 呼び出します。
  3. ディスパッチャーがメッセージ・トークンを使用してメッセージを受け取り、 メッセージ駆動型 Bean の onMessage メソッドに渡します。ディスパッチャーはメッセージを宛先から 削除します。

トピックのタイプを示すアイコン 概念トピック



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