CORBA (Common Object Request Broker Architecture)は分散環境上のオブジェクト間でメッセージを交換するための仕様であり、OMG (Object Management Group)が定めた標準規格である。
CORBAでは、プログラムをその機能や呼び出し方の情報と共にカプセル化を行う。このカプセル化されたオブジェクトは、ネットワークを経由してほかのプログラム又はCORBAオブジェクトから呼び出すことができる。
CORBAはインタフェース記述言語(IDL)でオブジェクトの外部インタフェースを記述する。そして、IDLからプログラム言語へのマッピングを行う。
ORB (Object Request Broker)とは、分散コンピューティングにおいてオブジェクトへのアクセスを実現するメカニズムである。
ネーミングサービスとは、分散環境内のオブジェクトを名前で管理するためのサービスである。ネーミングサービスを利用することにより、ORB上に存在するオブジェクト同士が互いに名前で検索することができるようになる。
IIOP (Internet Inter-ORB Protocol)とは、CORBAに準拠したORB間でメッセージを交換するためのプロトコルである。
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);
}
Data type |
---|
short |
unsigned short |
long |
unsigned long |
long long |
unsigned long long |
float |
double |
long double |
char |
wchar |
string |
boolean |
octet |
any |