「遠隔手続き呼出し」の版間の差分
削除された内容 追加された内容
m編集の要約なし |
|||
1行目:
{{otheruses|リモートプロシージャコール}}
{{IPstack}}
'''RPC'''({{lang-en-short|remote procedure call}}、リモートプロシージャコール)とは、[[プログラム (コンピュータ)|プログラム]]から別の[[アドレス空間]](通常、共有ネットワーク上の別のコンピュータ上)にある[[サブルーチン]]や[[プロシージャ|手続き]]を実行することを可能にする技術。'''遠隔手続呼出'''とも。その際に遠隔相互作用の詳細を明示的にコーディングする必要がない。つまり、プログラマはローカルなサブルーチン呼び出しと基本的に同じコードをリモート呼び出しについても行う。RPCを行うソフトウェアが[[オブジェクト指向プログラミング]]に基づく場合、RPC のことを '''リモート呼び出し'''({{lang|en|remote invocation}})あるいは '''リモートメソッド呼び出し''' ({{lang|en|remote method invocation}}、{{lang|en|RMI}})と呼ぶこともある([[Java Remote Method Invocation|Java RMI]]など)。
RPC
== 起源と歴史 ==
RPC
もう一つのUNIXでの初期の実装として、[[アポロコンピュータ]]の
== メッセージパッシング ==
RPCクライアントは、実行する手続きと引数とを要求メッセージとして既知のリモートサーバに送信することで、RPCを開始する。サーバーがRPCを処理している間、クライアント側はブロックされる。サーバー上でメッセージが処理され、応答がクライアントに戻ってくると、クライアント上のプロセスは処理を続行する。
RPC
RPCが通常のローカル呼び出しと比べて違う点で重要なのは、予測できないネットワーク上の問題で失敗することがあるという点である。またそのような場合、手続きが実際に実行されたかどうかをクライアントが知ることができないことがある。そういったケースでは、二重に手続きを実行しても影響のない場合は容易に対処できるが、そうでなければ適切な対処は困難である。そのため、注意深く記述された低レベルなサブシステムの制限下で呼び出しコードを実行するという方法がよくとられる。
=== 標準コンタクト機構 ===
各種クライアントからサーバへのアクセスを可能とするため、いくつかの標準
IDL
== RPC
* [[Java]]
* [[XML-RPC]]
* マイクロソフトの
== 関連項目 ==
|