2.2.1 高速メッセージ送信制御の概要

TP1キャッシュ機能使用時,高速にメッセージを送受信するために,TP1/EE間でのシステム間通信をUDPプロトコルによって行います。これを,高速メッセージ送信制御といいます。

一般に,UDPプロトコルはコネクションを確立することなくメッセージの送受信ができる反面,メッセージが保証されないという問題があります。そのため,高速メッセージ送信制御では次のことを行ってメッセージを保証しています。

<この項の構成>
(1) 送受信できるメッセージ
(2) APIの引数と定義の関連
(3) メッセージの通信形態

(1) 送受信できるメッセージ

高速メッセージ送信制御では,次に示すメッセージを送受信できます。

なお,これらのメッセージを総称してMCHメッセージといいます。

(a) トランザクション同期の一方送信メッセージ

トランザクション同期の一方送信メッセージとは,送信要求元トランザクションのコミット確定時に有効となり,トランザクションの延長で,同期点処理中(UAPリターン後)に送信するメッセージです。

クライアントUAPで,サービス要求に必要な項目をee_mch_cmtsend_sync関数に指定することで,サーバUAPにサービスを要求します。サーバUAPは複数のサービスを実行できます。

トランザクション同期の一方送信メッセージの特徴を次に示します。

(b) トランザクション非同期の一方送信メッセージ

トランザクション非同期の一方送信メッセージとは,送信要求元トランザクションのコミット確定後,トランザクション処理とは別のスレッド(送信スレッド)で送信するメッセージです。

クライアントUAPで,サービス要求に必要な項目をee_mch_cmtsend関数に指定することで,サーバUAPにサービスを要求します。サーバUAPは複数のサービスを実行できます。

トランザクション非同期の一方送信メッセージの特徴を次に示します。

(2) APIの引数と定義の関連

高速メッセージ送信制御で使用するAPIの引数と定義には関連があります。APIと定義の指定には整合性を持たせてください。

APIの引数と定義の関連の例を次の図に示します。

図2-3 高速メッセージ送信で使用するAPIの引数と定義の関連の例

[図データ]

各定義の詳細については,「5.3 XTCサービス定義」を参照してください。

APIの詳細については,マニュアル「TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。

(3) メッセージの通信形態

高速メッセージ送信制御では,UDPプロトコルを使用したクライアント/サーバ形態で通信します。

(a) クライアント側(送信形態)

マルチキャストまたはユニキャストによってメッセージを送信できます。

(b) サーバ側(受信形態)

マルチキャストまたはユニキャストによって送信されたメッセージを受信できます。メッセージはTP1/EE内の受信スレッドが受信して,処理キューに登録します。