1.2.1 サービスを利用するUAP(SUP)
クライアント専用のUAPを,サービス利用プログラム(SUP)といいます。SUPは,サーバUAP(SPP)にサービスを要求して,クライアント/サーバ形態の通信を開始する役割のUAPです。
SUPでできる通信は,SPPにサービスを要求するだけです。ほかのUAPにサービスとして提供するための関数は作成できません。
SUPの概要を次の図に示します。
|
- 〈この項の構成〉
(1) SUPの開始
SUPを実行する場合,OpenTP1の開始と一緒に開始する方法と,OpenTP1の開始後に任意に開始する方法の2とおりがあります。OpenTP1の開始と一緒に開始すると,OpenTP1の開始と同時にUAPの業務を開始できます。作成したSUPの業務内容に応じて,開始する時期を選べます。
(a) OpenTP1の開始と一緒に開始する場合
OpenTP1を開始する前に,OpenTP1と一緒に開始する指定をしておきます。指定方法を次に示します。
-
TP1/Server Baseの場合
ユーザサービス構成定義のdcsvstart定義コマンドに,開始するSUPのユーザサーバ名を指定します。
-
TP1/LiNKの場合
ユーザサーバ環境を設定するときに,開始するSUPが自動起動するように設定します。
(b) OpenTP1の開始後に任意に開始する場合
OpenTP1の開始後にSUPを開始する場合は,dcsvstartコマンドの引数にSUPのユーザサーバ名を指定して実行します。
(2) SUPの稼働時
SUPのプロセスは,一つの常駐プロセスとして確保しておきます。
オンライン中にSUPのプロセスで障害が起こった場合は,自動的に別プロセスで開始できます。別プロセスに自動的に開始させる場合,TP1/Server Baseのときは,ユーザサービス定義のauto_restartオペランドにYを指定してください。TP1/LiNKのときは,自動的に開始するように設定されています。
(3) SUPの終了
SUPの終了はOpenTP1で制御しません。業務終了後にSUPを正常終了させる場合は,SUP自身で終了するように作成してください。SUPの処理からトランザクションを開始しているときは,関数でトランザクションをコミット(同期点を取得)してから終了させてください。処理がうまくいかなかったためSUPを異常終了させたい場合は,exit()またはabort()を使って,SUP自身で終了するように作成してください。
SUPは,dcsvstopコマンドで正常終了させることはできません。ただし,SUPを強制停止させたい場合に限り,dcsvstop -fコマンドで終了できます。
SUPのプロセスを,killコマンドで終了させないでください。