分散トランザクション処理機能 OpenTP1 プログラム作成の手引

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

5.1.2 XATMIインタフェースの機能

XATMIインタフェースのアプリケーションプログラミングインタフェースと通信プロトコル別で使える機能について説明します。

<この項の構成>
(1) XATMIインタフェースのライブラリ関数
(2) XATMIインタフェースの機能と通信プロトコルの関係

(1) XATMIインタフェースのライブラリ関数

XATMIインタフェースのライブラリ関数の一覧を次の表に示します。

表5-1 XATMIインタフェースのライブラリ関数の一覧

XATMIインタフェースの機能 ライブラリ関数名
C言語ライブラリ COBOL言語ライブラリ
リクエスト/レスポンス型サービスの通信 リクエスト/レスポンス型サービスの呼び出しと応答の受信 tpcall() TPCALL
リクエスト/レスポンス型サービスの呼び出し tpacall() TPACALL
リクエスト/レスポンス型サービスからの非同期応答の受信 tpgetrply() TPGETRPLY
リクエスト/レスポンス型サービスのキャンセル tpcancel() TPCANCEL
会話型サービスの
通信
会話型サービスとのコネクションの確立 tpconnect() TPCONNECT
会話型サービスとのコネクションの切断 tpdiscon() TPDISCON
会話型サービスからのメッセージの受信 tprecv() TPRECV
会話型サービスへのメッセージの送信 tpsend() TPSEND
通信データの型の操作 型付きバッファの割り当て tpalloc()
型付きバッファの解放 tpfree()
型付きバッファのサイズの変更 tprealloc()
型付きバッファの情報の取得 tptypes()
サービス名を動的に管理 サービス名の広告 tpadvertise() TPADVERTISE
サービス名の広告の取り消し tpunadvertise() TPUNADVERTISE
サーバで使う関数 サービス関数のテンプレート tpservice()
サービスルーチンの開始 TPSVCSTART
サービス関数からのリターン tpreturn() TPRETURN
(凡例)
−:該当するAPIがないことを示します。
注※
C言語とCOBOL言語ではサービス開始を宣言する方法が異なるため,別のAPIとしています。tpservice()は,C言語のサービスの実体を示します。

XATMIインタフェースの関数とOpenTP1のUAPの関係を次の表に示します。

表5-2 XATMIインタフェースの関数とOpenTP1のUAPの関係

XATMIインタフェースの関数 SUP SPP MHP オフラインの業務をするUAP
トランザクションの処理の範囲でない トランザクションの処理範囲(ルート) トランザクションの処理の範囲でない トランザクション範囲 トランザクションの処理の範囲でない トランザクションの処理範囲(ルート)
ルート ルート以外
tpacall()
tpadvertise() 1 1 1
tpalloc()
tpcall()
tpcancel()
tpconnect()
tpdiscon()
tpgetrply()
tpfree()
tprecv()
tprealloc()
tpreturn() 2 2 2
tpsend()
tpservice()3
tptypes()
tpunadvertise() 1 1 1
(凡例)
○:関数を呼び出せます。
−:関数を呼び出せません。
MHPの「トランザクション処理の範囲でない」とは,非トランザクション属性のMHP,またはMHPのメイン関数の範囲を示します。
注※1
サービス関数の中でだけ,呼び出せます。
注※2
XATMIインタフェースのサービス関数をリターンするためだけに使います。
注※3
tpservice()は,サービス関数の実体です。

(2) XATMIインタフェースの機能と通信プロトコルの関係

XATMIインタフェースの通信は,TCP/IP通信でもOSI TP通信でも使えます。ただし,通信プロトコルによって制限がある機能もあります。XATMIインタフェースの機能と通信プロトコルの関係を次の表に示します。

表5-3 XATMIインタフェースの機能と通信プロトコルの関係

XATMIインタフェースの機能 通信プロトコル
TCP/IP OSI TP
リクエスト/レスポンス型の通信
会話型サービスの通信
型付きのデータ送信
OpenTP1同士のクライアント/サーバ型通信
他TPモニタへのトランザクション拡張
(凡例)
○:該当する通信プロトコルで使えます。
−:該当する通信プロトコルでは使えません。
注※
OSI TPを使ってOpenTP1以外のシステムとクライアント/サーバ形態で通信する場合でも,通信データの型を変換して送信できます。指定する通信データの型については,「5.1.6 通信データの型」を参照してください。