RPC 【Remote Procedure Call】 リモートプロシージャコール / 遠隔手続き呼び出し
概要
RPC(Remote Procedure Call)とは、あるコンピュータで動作するソフトウェアから、通信回線やコンピュータネットワークを通じて別のコンピュータ上で動作するソフトウェアへ処理を依頼したり、結果を返したりするための規約。プログラム中の手続きや関数、メソッドなどを呼び出すのと同じ手順でネットワーク越しに別のコンピュータ上のプログラムを呼び出す手法であり、プログラマがネットワークによる通信手順の詳細な実装をする必要はない。
RPC仕様では呼び出し側、手続き側の双方がRPCによる呼び出しに対応するためのAPIと、ネットワーク上で呼び出し要求メッセージや応答メッセージを送受信するための通信規約(RPCプロトコル)を定めている。同じRPC仕様に準拠した仕組みを採用していれば、機種やOS、プログラミング言語などが異なっていても共通の手順で呼び出すことができる。
RPCの種類
RPCには互いに互換性の無い様々な規格や実装があり、それらの総称を指すが、文脈によっては個別の具体的な規格を指すことがある。
例えば、UNIX系OSでRPCという場合は、1980年代前半に当時の米サン・マイクロシステムズ(Sun Microsystems)社が考案し各種のUNIX系OSに広まったONC RPC(Open Network Computing RPC)のことを指すことが多い。また、Windows環境では開発元の米マイクロソフト(Microsoft)社がDCE/RPCを元に拡張したMicrosoft RPC(MSRPC)のことを指す場合がある。
Web/HTTP通信の仕組みをRPCに応用した規格もあり、メッセージをXMLで記述するXML-RPCやJSONで記述するJSON-RPCなどがある。
(2018.5.24更新)