分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSAS-NIF編

[目次][用語][索引][前へ][次へ]

2.1.2 論理端末とアプリケーション

TP1/NET/OSAS-NIFでは,システム間通信をするために,論理端末の端末タイプおよびアプリケーションの型を定義します。

<この項の構成>
(1) 論理端末の端末タイプ
(2) 論理端末とアプリケーションの型の関係
(3) システム間通信の形態

(1) 論理端末の端末タイプ

論理端末は,相手システムとのメッセージの送受信をするための通信接点です。TP1/NET/OSAS-NIFでは利用形態によって,次に示す端末タイプがあります。論理端末の端末タイプは,MCF通信構成定義(mcftalcle -t)で指定します。

注※
MCF通信構成定義(mcftalcle -d)で"sync=yes"を指定した場合

自システムから相手システムへ問い合わせメッセージを送信する場合,request型の論理端末から相手システムのREPLY型のエージェントへ送信します。また,相手システムから応答メッセージを受信する場合は,相手システムのREPLY型のエージェントから送信したメッセージを,自システムのrequest型の論理端末で受信します。

相手システムからの問い合わせメッセージを受信する場合,相手システムのREQUEST型のエージェントからメッセージを送信し,自システムのreply型の論理端末がメッセージを受信します。また,相手システムへ応答メッセージを送信する場合は,自システムのreply型の論理端末から相手システムのREQUEST型のエージェントへ送信します。

自システムから相手システムに一方送信メッセージを送信する場合,send型の論理端末から相手システムのRECEIVE型のエージェントに送信します。また,相手システムからメッセージを送信する場合は,相手システムのSEND型のエージェントからメッセージを送信し,自システムのreceive型の論理端末がメッセージを受信します。

システム間通信と論理端末の端末タイプの関係の例を次の図に示します。

図2-2 システム間通信と論理端末の端末タイプの関係

[図データ]

(2) 論理端末とアプリケーションの型の関係

システム間通信をするには,論理端末の端末タイプ,メッセージの種類,アプリケーションの型,UAPインタフェースおよび通信形態を関連づけます。関連づける項目の関係を次の表に示します。

表2-1 論理端末の端末タイプ,メッセージの種類,アプリケーションの型,UAPインタフェースおよび通信形態の関係

論理端末の端末タイプ メッセージの種類 アプリケーションの型 UAPインタフェース 通信形態
request型(問い合わせ型) 問い合わせメッセージ 任意 EXECAP 問い合わせ応答形態
SEND
RESEND
応答メッセージ RECEIVE
request型(同期型)(問い合わせ型(同期型)) 問い合わせメッセージ SENDRECV※1 同期型問い合わせ応答形態
応答メッセージ RECVSYNC※2
reply型
(応答型)
問い合わせメッセージ 応答型 RECEIVE 問い合わせ応答形態
応答メッセージ REPLY
send型
(送信型)
一方送信メッセージ 任意 EXECAP 分岐送信形態
SEND
RESEND
receive型(受信型) 非応答型 RECEIVE 一方受信形態
注※1
セグメント送信時と先頭セグメント受信時だけ使用できます。
注※2
後続セグメント受信時だけ使用できます。

(3) システム間通信の形態

TP1/NET/OSAS-NIFで実現できるシステム間通信の形態を示します。

(a) 問い合わせ応答形態を使用した通信形態

UAPからEXECAP要求を発行して,問い合わせメッセージを送信する場合,EXECAP要求でアプリケーション名を指定します。このとき,アプリケーション名に対応するMCFアプリケーション定義(mcfaalcap -n)のlnameオペランドでrequest型論理端末を指定してください。または,MCFアプリケーション定義(mcfaalcap -n)のcnameオペランドでrequest型論理端末の定義があるコネクションのコネクションIDを指定してください。コネクションIDを指定した場合,TP1/NET/OSAS-NIFは指定されたコネクションからrequest型論理端末を使用します。

該当する論理端末が使用中で応答メッセージ未受信の状態であるとき,EXECAP要求を発行できません。論理端末が応答メッセージを受信して,論理端末の使用状態を解除したあと,EXECAP要求を発行できます。

UAPからSEND要求を発行して,問い合わせメッセージを送信する場合,SEND要求でrequest型論理端末を指定します。

該当する論理端末が使用中で応答メッセージ未受信の状態でも,MCF通信構成定義(mcftalcle -m)で指定した出力メッセージ格納数を上限として,SEND要求を発行できます。

なお,同じコネクションでEXECAP要求とSEND要求を混在して使用しないでください。EXECAP要求で使用中のrequest型論理端末に対して,SEND要求が発行されることがあります。

問い合わせ応答形態を使用したシステム間通信の形態例を次の図に示します。

図2-3 問い合わせ応答形態を使用した通信形態の例

[図データ]

[図データ]

図2-3に示した五つの通信形態例について説明します。

  1. 端末からSPPが起動され,EXECAP要求またはSEND要求を発行して,問い合わせメッセージを相手システムへ送信します。その後,相手システムからの応答メッセージを受信して非応答型MHPを起動し,RECEIVE要求を発行して相手システムからのメッセージを受信する通信形態です。
  2. 端末から応答型MHPが起動され,SEND要求を発行して,問い合わせメッセージを相手システムへ送信します。その後,相手システムからの応答メッセージを受信して非応答型MHPを起動し,RECEIVE要求を発行して相手システムからのメッセージを受信する通信形態です。
    また,端末から起動された応答型MHPは,SEND要求発行後,REPLY要求を発行することによって,応答メッセージを端末へ送信できます。
  3. 端末から応答型MHPが起動され,EXECAP要求を発行して,問い合わせメッセージを相手システムへ送信します。その後,相手システムからの応答メッセージを受信して応答型MHPを起動し,RECEIVE要求を発行して相手システムからのメッセージを受信する通信形態です。
    request型論理端末に対するEXECAP要求は,発行元のMHPの応答型の属性を引き継ぐため,端末から起動された応答型MHPは,EXECAP要求発行後,REPLY要求を発行できません。入力元の端末に対する応答メッセージの送信は,相手システムからの応答メッセージ受信で起動された応答型MHPからREPLY要求を発行することによって行います。
  4. 端末から応答型MHPが起動され,EXECAP要求を発行して,自システム内の応答型MHPを起動します。自システム内で起動されたMHPはEXECAP要求を発行して,問い合わせメッセージを相手システムへ送信します。その後,相手システムからの応答メッセージを受信して応答型MHPを起動し,RECEIVE要求を発行して相手システムからのメッセージを受信する通信形態です。
    request型論理端末に対するEXECAP要求は,発行元のMHPの応答型の属性を引き継ぐため,端末から起動された応答型MHPは,EXECAP要求発行後,REPLY要求を発行できません。入力元の端末に対する応答メッセージの送信は,相手システムからの応答メッセージ受信で起動された応答型MHPからREPLY要求を発行することによって行います。
  5. 相手システムから問い合わせメッセージを受信することによって,応答型MHPが起動され,RECEIVE要求を発行して相手システムからのメッセージを受信します。その後,REPLY要求を発行して,相手システムへ応答メッセージを送信する通信形態です。

なお,端末からのUAPの起動,自システム内でのMHPの起動およびUAPから端末へのメッセージ送信は,MCFまたはほかのOpenTP1プロトコルで支援している機能です。

(b) 同期型問い合わせ応答形態を使用した通信形態

UAPからSENDRECV要求を発行して,問い合わせメッセージを送信する場合,SENDRECV要求でrequest型論理端末(同期型)を指定します。

該当するrequest型論理端末が使用中で,応答メッセージ未受信の状態であるとき,SENDRECV要求は発行できません。応答メッセージを受信して,論理端末の使用状態が解除されたあと,SENDRECV要求を発行できます。

同期型問い合わせ応答形態を使用した通信形態例を次の図に示します。

図2-4 同期型問い合わせ応答形態を使用した通信形態の例

[図データ]

図2-4は,端末からSPPが起動され,SENDRECV要求を発行して,問い合わせメッセージを相手システムへ送信する例です。相手システムからの応答メッセージ受信を契機にSENDRECV要求がリターンすることで,SPPは先頭セグメントを受信します。その後,SPPはRECVSYNC要求を発行して,後続セグメントを受信する通信形態です。SPPは,TP1/NET/OSAS-NIFを介して問い合わせ応答をしたあと,端末のクライアント側のUAPへ制御を移せます。

なお,端末からのUAPの起動およびUAPから端末へのメッセージ送信は,MCFまたはほかのOpenTP1プロトコルで支援している機能です。

(c) 分岐送信形態および一方受信形態を使用した通信形態

UAPからEXECAP要求を発行して,一方送信メッセージを送信する場合,EXECAP要求でアプリケーション名を指定します。このとき,アプリケーション名に対応するMCFアプリケーション定義(mcfaalcap -n)のlnameオペランドでsend型論理端末を指定します。

UAPからSEND要求を発行して,一方送信メッセージを送信する場合,SEND要求でsend型論理端末を指定します。

該当する論理端末が送信中の状態でもMCF通信構成定義(mcftalcle -m)で指定した出力メッセージ格納数を上限としてEXECAP要求またはSEND要求を発行できます。

分岐送信形態および一方受信形態を使用した通信形態例を次の図に示します。

図2-5 分岐送信形態および一方受信形態を使用した通信形態の例

[図データ]

図2-5に示した四つの通信形態例について説明します。

  1. 端末からSPPが起動され,EXECAP要求またはSEND要求を発行して,一方送信メッセージを送信する通信形態です。
  2. 端末から非応答型MHPが起動され,EXECAP要求またはSEND要求を発行して,一方送信メッセージを送信する通信形態です。
  3. 端末から応答型MHPが起動され,EXECAP要求またはSEND要求を発行して,一方送信メッセージを送信する通信形態です。また,EXECAP要求またはSEND要求発行後,REPLY要求を発行することによって,応答メッセージを端末へ送信できます。
  4. 相手システムから一方送信メッセージを受信して,非応答型のMHPを起動する通信形態です。起動されたMHPは,RECEIVE要求を発行して相手システムからのメッセージを受信します。また,端末へはSEND要求を発行してメッセージを送信できます。

なお,端末からのUAPの起動およびUAPから端末へのメッセージ送信は,MCFまたはほかのOpenTP1プロトコルで支援している機能です。