CORBA

CORBA (Common Object Request Broker Architecture)は分散環境上のオブジェクト間でメッセージを交換するための仕様であり、OMG (Object Management Group)が定めた標準規格である。

CORBAでは、プログラムをその機能や呼び出し方の情報と共にカプセル化を行う。このカプセル化されたオブジェクトは、ネットワークを経由してほかのプログラム又はCORBAオブジェクトから呼び出すことができる。

CORBAはインタフェース記述言語(IDL)でオブジェクトの外部インタフェースを記述する。そして、IDLからプログラム言語へのマッピングを行う。

ORB (Object Request Broker)

ORB (Object Request Broker)とは、分散コンピューティングにおいてオブジェクトへのアクセスを実現するメカニズムである。

ネーミングサービス

ネーミングサービスとは、分散環境内のオブジェクトを名前で管理するためのサービスである。ネーミングサービスを利用することにより、ORB上に存在するオブジェクト同士が互いに名前で検索することができるようになる。

IIOP

IIOP (Internet Inter-ORB Protocol)とは、CORBAに準拠したORB間でメッセージを交換するためのプロトコルである。

OMG IDL

OMG IDLの書式を次に示す。

interface interface-name { operation ... };

operationには次の書式で操作を記述する。

return-type operation-name (parameter [, ...]);

parameterには次の書式で引数を記述する。

{in|out|inout} data-type parameter-name

IDLの例を次に示す。

interface HelloWorld {
  string greetMe(in string return_message);
}
IDLのデータ型
Data type
short
unsigned short
long
unsigned long
long long
unsigned long long
float
double
long double
char
wchar
string
boolean
octet
any