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