Hitachi

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


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

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 通信データの型」を参照してください。