Object Request Broker

Object Request Broker（オブジェクトリクエストブローカー、ORB、分散オブジェクト間通信機構）とは分散コンピューティングにおいて、 ネットワークを介してコンピュータ間でのプログラムの呼び出しを可能とするミドルウェアのことである。

ORBのもっとも重要な機能は、プロセス内データ構造をバイト列に変換し転送すること、およびバイト列からもとのデータ構造を復元すること、すなわちシリアライズである。

ある種のORBは、例えばCORBAベースのものは、インタフェース記述言語を用いて転送データを記述する。オブジェクト指向プログラミングが主流になる前は、遠隔手続き呼出し (RPC) が一般的だった。

ORBにはデータのシリアライズの他にも、分散トランザクション、ディレクトリ・サービス、リアルタイムスケジューリングといった機能が付加されていることがある。

オブジェクト指向言語においては、ORBもオブジェクトであり、転送を仲介するオブジェクトに接続するためのメソッドがある。そのようなオブジェクトとORBが接続されると、オブジェクトのメソッドは遠隔呼び出しが可能となる。ORBは何らかの手段でオブジェクトのネットワークアドレスを取得できなければならない。典型的なORBは他にも多くのメソッドを持っている。

Windowsなどで用いられるCOM / DCOMや、Java RMI、前述のCORBAなどの実装が存在する。

Category:プロセス間通信
Category:分散処理
Category:システムソフトウェア