分散トランザクション処理機能 OpenTP1 プログラム作成の手引
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 | |
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 | − | − | − |
XATMIインタフェースの通信は,TCP/IP通信でもOSI TP通信でも使えます。ただし,通信プロトコルによって制限がある機能もあります。XATMIインタフェースの機能と通信プロトコルの関係を次の表に示します。
表5-3 XATMIインタフェースの機能と通信プロトコルの関係
| XATMIインタフェースの機能 | 通信プロトコル | |
|---|---|---|
| TCP/IP | OSI TP | |
| リクエスト/レスポンス型の通信 | ○ | ○ |
| 会話型サービスの通信 | ○ | − |
| 型付きのデータ送信 | ○ | ○※ |
| OpenTP1同士のクライアント/サーバ型通信 | ○ | ○ |
| 他TPモニタへのトランザクション拡張 | − | ○ |
All Rights Reserved. Copyright (C) 2006, 2012, Hitachi, Ltd.