CORBA はネットワーク上に分散したオブジェクト間でメッセージを交換することによって分散的な計算をおこなうための基盤である.CORBA は OMG によって開発されたが,その核となる仕様書は Common Object Request Broker Architecture (CORBA/IIOP) であり,2003 年 9 月現在は 2002 年12 月に公開された版 3.0.2 (http://www.omg.org/technology/documents/formal/corba_iiop.htm) が最新版である.この CORBA/IIOP の周辺に様々な CORBA サービスが定義されているが,そのなかに名前づけサービスとトレーディング・オブジェクト・サービスがある.
- (1) CORBA 名前づけサービス (Naming Service)
- 名前づけサービスは名前とオブジェクトとの対応を管理するサービスである.1993 年 2 月に最初の版が公開されて以来,改訂がつづけられ,現在の版 1.2 は 2002 年 9 月に公開されている.名前からオブジェクト・リファレンスをえることができるので,このサービスを使用すればオブジェクトの位置をしらなくてもオブジェクトとメッセージ交換をおこなうことができる.オブジェクトの検索キーは名前だけであり,名前は木構造をしているので,DNS とよく似ている.名前づけサービスは電話帳にたとえれば white pages に相当する.
- (2) CORBA トレーディング・オブジェクト・サービス (Trading Object Service)
-
トレーディング・オブジェクト・サービスは 2000 年 6 月に 1.0 版の仕様が公開された CORBA サービスである.従来はオブジェクト・トレーダ・サービス (Object Trader Service) とよばれていた.サービスの広告や属性によるサービス要求のためのインタフェースを与えている.CORBA によってアクセスできる機器やサービス,プロキシ (proxy),ラッパ (wrapper) はトレーディング・オブジェクト・サービスを使用してその属性を広告することができる.また,CORBA オブジェクトは特定の制約をみたすオブジェクトをトレーディング・オブジェクト・サービスを使用してみつけることができる.
トレーディング・オブジェクト・サービスにおいては登録されたオブジェクトが実際に利用可能かどうかはわからない (消滅しているかもしれない) し,イベント処理には対応していない.しかし,これらのサービスは他の CORBA サービスを使用することによって容易に実現することができる.なお,複数のトレーディング・オブジェクト・サービスを組み合わせて 1 個のサービスを構成することができる.その構成は,木構造のような階層に限定されず,任意のトポロジーを実現することができる.トレーディング・オブジェクト・サービスそのものにはセキュリティ機能は含まれていないが,CORBA セキュリティを使用することができるので,それが実装されれば非常に強力なセキュリティが実現される.
トレーディング・オブジェクト・サービスは CORBA インタフェースとして定義され,すべての広告,要求,応答は CORBA オブジェクトである.トレーディング・オブジェクト・サービスは CORBA に依存しているので,それにかかわるすべてのオブジェクトが CORBA オブジェクトとして定義されている必要があり,通信には CORBA プロトコルを使用する必要がある.トレーディング・オブジェクト・サービスは電話帳にたとえれば yellow pages に相当する.