分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSAS-NIF編
TP1/NET/OSAS-NIFでは,システム間通信をするために,論理端末の端末タイプおよびアプリケーションの型を定義します。
論理端末は,相手システムとのメッセージの送受信をするための通信接点です。TP1/NET/OSAS-NIFでは利用形態によって,次に示す端末タイプがあります。論理端末の端末タイプは,MCF通信構成定義(mcftalcle -t)で指定します。
自システムから相手システムへ問い合わせメッセージを送信する場合,request型の論理端末から相手システムのREPLY型のエージェントへ送信します。また,相手システムから応答メッセージを受信する場合は,相手システムのREPLY型のエージェントから送信したメッセージを,自システムのrequest型の論理端末で受信します。
相手システムからの問い合わせメッセージを受信する場合,相手システムのREQUEST型のエージェントからメッセージを送信し,自システムのreply型の論理端末がメッセージを受信します。また,相手システムへ応答メッセージを送信する場合は,自システムのreply型の論理端末から相手システムのREQUEST型のエージェントへ送信します。
自システムから相手システムに一方送信メッセージを送信する場合,send型の論理端末から相手システムのRECEIVE型のエージェントに送信します。また,相手システムからメッセージを送信する場合は,相手システムのSEND型のエージェントからメッセージを送信し,自システムのreceive型の論理端末がメッセージを受信します。
システム間通信と論理端末の端末タイプの関係の例を次の図に示します。
システム間通信をするには,論理端末の端末タイプ,メッセージの種類,アプリケーションの型,UAPインタフェースおよび通信形態を関連づけます。関連づける項目の関係を次の表に示します。
表2-1 論理端末の端末タイプ,メッセージの種類,アプリケーションの型,UAPインタフェースおよび通信形態の関係
論理端末の端末タイプ | メッセージの種類 | アプリケーションの型 | UAPインタフェース | 通信形態 |
---|---|---|---|---|
request型(問い合わせ型) | 問い合わせメッセージ | 任意 | EXECAP | 問い合わせ応答形態 |
SEND | ||||
RESEND | ||||
応答メッセージ | RECEIVE | |||
request型(同期型)(問い合わせ型(同期型)) | 問い合わせメッセージ | SENDRECV※1 | 同期型問い合わせ応答形態 | |
応答メッセージ | RECVSYNC※2 | |||
reply型 (応答型) |
問い合わせメッセージ | 応答型 | RECEIVE | 問い合わせ応答形態 |
応答メッセージ | REPLY | |||
send型 (送信型) |
一方送信メッセージ | 任意 | EXECAP | 分岐送信形態 |
SEND | ||||
RESEND | ||||
receive型(受信型) | 非応答型 | RECEIVE | 一方受信形態 |
TP1/NET/OSAS-NIFで実現できるシステム間通信の形態を示します。
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に示した五つの通信形態例について説明します。
なお,端末からのUAPの起動,自システム内でのMHPの起動およびUAPから端末へのメッセージ送信は,MCFまたはほかのOpenTP1プロトコルで支援している機能です。
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プロトコルで支援している機能です。
UAPからEXECAP要求を発行して,一方送信メッセージを送信する場合,EXECAP要求でアプリケーション名を指定します。このとき,アプリケーション名に対応するMCFアプリケーション定義(mcfaalcap -n)のlnameオペランドでsend型論理端末を指定します。
UAPからSEND要求を発行して,一方送信メッセージを送信する場合,SEND要求でsend型論理端末を指定します。
該当する論理端末が送信中の状態でもMCF通信構成定義(mcftalcle -m)で指定した出力メッセージ格納数を上限としてEXECAP要求またはSEND要求を発行できます。
分岐送信形態および一方受信形態を使用した通信形態例を次の図に示します。
図2-5 分岐送信形態および一方受信形態を使用した通信形態の例
図2-5に示した四つの通信形態例について説明します。
なお,端末からのUAPの起動およびUAPから端末へのメッセージ送信は,MCFまたはほかのOpenTP1プロトコルで支援している機能です。
All Rights Reserved. Copyright (C) 2009, Hitachi, Ltd.