同時実行モデル
同時実行モデルでは、TP のリスナーとサーバーの部分は、さまざまなタスクの制御下で実行されます。 リスナーの唯一の目的は、接続を受け入れ、サーバー タスクを生成することです。 アプリケーションのサーバー部分は、データを送受信し、TP に依存する処理を実行します。 このモデルでは、リッスン ソケットが長期間保持されないため、コンカレンシーの程度が高くなります。
リスナーは、TI ランタイム環境から最初のデータとして TRM を受信する必要があります。 TRM は、呼び出す TP とそのプログラムの特性をリスナーに指示します。 TRM を送信した後、TI ランタイム環境は、データを送信する前に応答を待機する必要があります。 同時実行モデルのリスナーは、次のシーケンスに従います。
リッスン ソケットを作成する
ローカル アドレスにバインドする
リッスン (ソケットが使用可能であることを TCP/IP に認識させる)
選択 (接続要求を待つ)
接続を受け入れる
TRM を読み取る
要求されたトランザクション ID (TRANID) の有効性を確認する
ソケットを渡す (ソケットの転送用に TCP/IP を準備する)
タスクを開始する
ソケットのワーカー タスクの受け入れ時に同期する
選択 (接続要求を待つ)
同時実行モデルの Worker タスクは、次の手順に従います。
ソケットを受け取ります (リスナーからのソケット要求を受け入れます)。
TRM に応答を書き込みます。
アプリケーション データの読み取りまたは書き込み。
惜しいです。
同時実行モデルの利点は次のとおりです。
長時間実行される TP への同時アクセスを簡単に実装できます。
1 つのリスナーが多くの TP で共有されます。
サーバー TCP/IP ロジックは単純です。
同時実行モデルの欠点は次のとおりです。
TRM 交換の要件により、ネットワークのオーバーヘッドと遅延が増加しました。
反復モデルよりも CPU とリソースの負荷が高くなります。