RPC
「Remote Procedure Call」の略です。
RPCは、あるコンピューターに、別のコンピューターに代わってネットワーク経由でコードを実行するよう指示するメッセージです。あるコンピューター上でローカルに実行されているプログラムは、特定のタスクを実行するコードのまとまりであるプロシージャを、別のサーバー上のプログラムに任せることができます。そのプログラムは結果を返します。RPCを発行したプログラムは、リモートのプロシージャの結果を、ローカルで実行したプロシージャの結果と同じように扱います。
RPCはクライアントサーバーモデルを利用します。このモデルでは、複数のクライアントコンピューターがサーバーに接続し、指示を送信してデータを受信できます。プログラムがRPCを発行するときは、サーバーに実行するプロシージャとその実行方法を指示するため、一連のパラメーターを含めます。たとえば、DNSサーバーにRPCメッセージを送信するクライアントコンピューターは、パラメーターとして解決したいドメイン名を含めます。また、ネットワークプリンターに印刷ジョブを送信する別のメッセージには、用紙サイズや向きなどの印刷設定をパラメーターとして含めます。
RPCに単一のプロトコルがあるわけではありません。RPCという考え方は、コードのリモート実行を可能にするために多くのプロトコルが利用する概念です。一般的なRPCプロトコルには、XMLマークアップを使ってRPCを構成するXML-RPCや、JSONを使ってRPCを構成するJSON-RPCなどがあります。ただし、すべてのRPCプロトコルは同じような方法でメッセージを送信します。まずクライアントプログラムは、プロシージャの代理として機能するスタブと呼ばれるクライアント側のコードにプロシージャ呼び出しを発行します。スタブはサーバーと通信し、実行するプロシージャと使用するパラメーターを伝えます。サーバーはプロシージャを実行して結果をスタブに送り返し、スタブはその結果をRPCを発行したプログラムに返します。
知識をテストする