2 機能
2.7 サーバアプリケーションの機能
2.7.5 リクエストの振り分け
が実行された場合,スレッド2が実行されます。つまり,同じインタフェースに対して リクエストした場合でも,同じスレッド上で動作するという保証はありません。また,
同じインタフェースを持つほかのサーバアプリケーションプロセスがある場合,複数の リクエストをすると,OTMの負荷状況に応じて処理するサーバアプリケーションプロセ スが振り分けられます。そのため,リクエストを処理するサーバアプリケーションプロ セスおよびスレッドが常に同じになるという保証はありません。
(2) TSC アクセプタ名称を指定するリクエストの振り分け
TSCユーザアクセプタの生成時にTSCアクセプタ名称を指定できます。同じインタ フェースでもTSCアクセプタ名称を使用することによって,異なるインタフェースとし て扱うことができます。
TSCアクセプタ名称を指定する場合のリクエストの振り分けを次の図に示します。
図2-26 TSCアクセプタ名称を指定する場合のリクエストの振り分け
この例では,サーバアプリケーションプロセス1にあるAのインタフェースを担当する TSCアクセプタ名称を"Z"とし,サーバアプリケーションプロセス2にあるAのインタ
フェースを担当するTSCユーザアクセプタの名称はないものとします。
●1.で示す処理では,クライアントアプリケーションからAのインタフェースのTSC アクセプタ名称Zでリクエストするとき,サーバアプリケーションプロセス1内のA のインタフェースを担当するTSCアクセプタ名称Zに対してリクエストします。
TSCアクセプタ名称を指定する場合,名称がないTSCユーザアクセプタ,および TSCアクセプタ名称が異なるTSCユーザアクセプタにはリクエストは振り分けられ ません。
この場合でもリクエスト単位に実行されるインタフェースについて,毎回同じTSC ユーザオブジェクトが実行される保証はありません。
●2.で示す処理では,クライアントアプリケーションからAのインタフェースでTSC アクセプタ名称を指定しないでリクエストするとき,リクエストが処理されるサーバ アプリケーションプロセス,TSCユーザアクセプタ,およびスレッドが常に同じにな るという保証はありません。したがって,名称があるTSCユーザアクセプタが呼び出 されることがあります。
● サーバアプリケーションプロセス1およびサーバアプリケーションプロセス2に同じ TSCアクセプタ名称があるBのインタフェースの場合,複数のリクエストをするとき に,リクエストを処理するサーバアプリケーションプロセスおよびスレッドが常に同 じになるという保証はありません。
(3) セション呼び出し時のリクエストの振り分け
セション呼び出し機能を使用する場合のリクエストの振り分けを次の図に示します。
図2-27 セション呼び出し機能を使用する場合のリクエストの振り分け
1. Aのインタフェースを持つインスタンスのセション呼び出し開始要求。
2. Aのインタフェースを持つインスタンスに対するリクエスト。
クライアントアプリケーション1のすべてのリクエストを同じインスタンスに送信し ます。
3. Aのインタフェースを持つインスタンスのセション呼び出し終了要求。
4. Cのインタフェースを持つインスタンスのセション呼び出し開始要求。
5. Cのインタフェースを持つインスタンスに対するリクエスト。
クライアントアプリケーション2のすべてのリクエストを同じインスタンスに送信し ます。
6. Cのインタフェースを持つインスタンスのセション呼び出し終了要求。
注※
セション呼び出し用プロキシを継承したTSCユーザプロキシです。