1.4.1 リモートプロシジャコールの概要
クライアント/サーバ形態の通信では,クライアントから要求されて実行する処理をサービスといいます。アプリケーションプログラムのサービスとは,データベースにアクセスしたり,画面にデータを表示したりする処理のことをいいます。
クライアントからTP1/LiNKのアプリケーションプログラムへサービスを要求するときは,リモートプロシジャコールを使います。リモートプロシジャコールを使って通信すると,業務をマシンごとに分散して処理したり,分散したマシンの処理を一つの業務にしたりできます。
リモートプロシジャコールで通信するすべてのシステム名は,TP1/LiNKの環境設定で「システムを構成するノード」として指定しておきます。この指定があれば,リモートプロシジャコールを実行するときに通信相手システムのネットワーク上の位置を意識しなくても済みます。
リモートプロシジャコールを使ったアプリケーションプログラムの通信を次の図に示します。
|
TP1/LiNKのリモートプロシジャコールには,次に示す3種類があります。
-
一般的なリモートプロシジャコールで,サービスを要求したクライアントがサーバの応答を待っている形態です。
-
サービスを要求したクライアントが,サーバの応答を待たないで処理を続ける形態です。応答を受け取るときは,専用の関数を呼び出します。複数のサーバにサービスを要求して,早く返ってきた応答から受け取るような処理に適用できます。
-
サービスを要求したクライアントが,応答を受け取らない形態です。クライアントがサーバの処理結果を受け取る必要がない通信の場合に使います。
リモートプロシジャコールの形態は,サービスを要求する関数(dc_rpc_call関数)の引数に指定します。
リモートプロシジャコールの形態を次の図に示します。
|