CORBA (Common Object Request Broker Architecture)
【コルバ/コーバ】
コンピュータ・アプリケーション同士がネットワーク上で協調/連携して動作するための、オープンかつベンダ非依存のアーキテクチャ。標準化団体のOMG(Object Management Group)によって規定された。
CORBAでは、標準プロトコルであるIIOP(Internet Inter-Orb Protocol)を用いることにより、ベンダ、マシン、OS、プログラム言語が異なっていても、CORBAベースのプログラム同士が協調して動作できるようにする。
CORBAのアーキテクチャは次の3つの仕様が主なベースとなっている。
●OMG IDL(Interface Definition Language)
プログラムの構成要素であるオブジェクトのインターフェイス(外部仕様)を記述するための言語で、そのオブジェクトのメソッド(実行することのできる命令)やプロパティ(属性)についての情報を定義する。IDLはプログラミング言語に依存しない仕様になっており、多くの代表的な言語(C、C++、Java、COBOLなど)へ対応づけることができる。このIDLによりCORBAではオブジェクトの個々の実装を他のシステムに対して隠蔽(カプセル化)している。
実際には、IDLで記述されたコードはIDLコンパイラによりコンパイルされ、クライアントのためのIDLスタブと、サーバ側のオブジェクトためのスタブであるIDLスケルトンが生成される。これらはそれぞれクライアントおよびサーバ上のオブジェクトとリンクされる。
●ORB(Object Request Broker)
アプリケーションからの処理要求を他のシステム上のアプリケーションに伝えるための仲介プログラム(ミドルウェア)。IDLによりカプセル化されたオブジェクトはORBを通じて同一マシン、あるいはリモート・マシン上からアクセス可能となる。ORBはクライアントからのメソッド起動を受け取り、その要求を実行できるオブジェクトを見つけ出し、そのオブジェクトにパラメータを渡してメソッドを起動し、結果を返す。ORB自体はそれが動作する個々のマシンに依存した実装となる。
●IIOP(Internet Inter-Orb Protocol)
異なるベンダによって提供されるORB間で通信を行うための標準プロトコル。CORBAでは、IIOPによって接続されているそれぞれのマシンのORBを通じて、クライアントがリモート・マシン上のオブジェクトにアクセスする。
Copyright (C) 2000-2007 Digital Advantage Corp.
参考リンク
-
■OMGのホームページ
オブジェクト指向に関する各種の活動を行っているOMGのホームページ