Java Management Extensions (JMX) 動的プロキシー機能を使用すると、 JMX 操作に依存するアプリケーションは、 サーバー・アーキテクチャーが単一プロセス・モデルを使用するにしても、 マルチプロセス・モデルを使用するにしても、一貫性のある動作を示すことができます。
WebSphere Application Server ランタイムが提供する MBean はすべて、 分散プラットフォーム上の WebSphere Application Server によって採用されている 単一プロセス・モデルでも、 WebSphere Application Server for z/OS によって採用されている マルチプロセス・モデルでも実行できます。 ユーザー MBean プロバイダーは、MBean が WebSphere Application Server 分散プラットフォーム、 および WebSphere Application Server for z/OS の両方で機能するように MBean を変更することが必要になる場合もあります。 詳しくは、Application Server application programing interface (API) documentation を参照してください。
アプリケーション・コンポーネントから来る要求は、通常、
次のフローをたどります。
アプリケーション・コンポーネントが要求をサーバント・コンポーネントに送信します。
サーバント・コンポーネントは、その要求を、
MBean 用の動的プロキシーが実行している制御プロセスにリダイレクトします。
WebSphere Application Server は、ランタイム中に MBean 動的プロキシーを自動的に生成します。
MBean プロバイダーがユニコール・オプションで定義したメソッドを、要求が呼び出すと、
制御プロセス内の動的プロキシーは、
MVS ワークロード管理 (WLM) を使用して、
その作業を無作為に 1 つのサーバント・プロセスにディスパッチします。
MBean プロバイダーがマルチコール・オプションで定義したメソッドを要求が呼び出すと、
制御プロセス内の動的プロキシーは、WLM とともに、
その作業をすべてのサーバント・プロセスに分散します。
作業をオプションで完了する個々のサーバント・プロセスは、
応答を制御プロセスに戻します。
MBean がユニコール・オプションで定義されており、かつ戻りの型がボイド以外である場合は、
制御プロセスは応答を、要求を行ったサーバントに戻します。その後、サーバント・サーバー・コンポーネントは、
応答をアプリケーション・コンポーネントに戻します。
MBean がマルチコール・オプションで定義された場合、個々のサーバント・プロセス内の MBean は、
個別に実行され、要求の処理をそれぞれ異なる時点で終了します。
要求がすべて処理された後に、
アプリケーション・コンポーネントに結果を正しく戻すために、結果集約
およびイベント集約が
必要になる場合があります。
サーバー外部のリモート・ロケーションから来る要求は、
一般に次のフローをたどります。
リモート・ロケーションは、
MBean 用の動的プロキシーを実行している制御プロセスに要求を送信します。WebSphere Application Server は、ランタイム中に MBean 動的プロキシーを自動的に生成します。
要求プロセスの次の部分は、
アプリケーション・コンポーネントから発信された要求と同様に動作します。
MBean プロバイダーがユニコール・オプションで定義したメソッドを要求が呼び出すと、
制御プロセス内の動的プロキシーは、MVS ワークロード管理 (WLM) を使用して、
その作業を無作為に 1 つのサーバント・プロセスにディスパッチします。MBean プロバイダーがマルチコール・オプションで定義したメソッドを、
要求が呼び出すと、制御プロセス内の動的プロキシーは、WLM を使用して、
その作業をすべてのサーバント・プロセスに分散します。
リモート・ロケーションへの応答のフローは、
アプリケーション・コンポーネントへの応答に類似しています。
作業をオプションで完了する個々のサーバント・プロセスは、
応答を制御プロセスに戻します。
MBean がユニコール・オプションで定義されており、
かつ戻りの型がボイド以外である場合は、制御プロセスは応答をリモート・ロケーションに戻します。MBean が
マルチコール・オプションで定義された場合、個々のサーバント・プロセス内で実行する MBean は、
個別に実行され、要求の処理をそれぞれ異なる時点で終了します。
結果がすべて処理された後に、
リモート・ロケーションに結果を正しく戻す
ために、結果集約
およびイベント集約が
必要になる場合があります。