ページの先頭です。
本文へジャンプする。

本ウェブサイトでは、JavaScriptおよびスタイルシートを使用しております。
お客さまがご使用のブラウザではスタイルが未適応のため、本来とは異なった表示になっておりますが、情報は問題なくご利用いただけます。

ここからサイト内共通メニューです。
サイト内共通メニューを読み飛ばす。
サイト内共通メニューここまで。
サイト内の現在位置を表示しています。
ホーム > 製品 > ソフトウェア > Orbix
ページ共通メニューここまで。
■ CORBA 解説 ■




INDEX

 1.CORBA とは
 2.CORBA の特徴
  2.1.特定のプラットフォーム (OS) やプログラミング言語に依存しない
  2.2.相互運用性 ( 異なる製品間でメッセージ交換できる )
  2.3.共通のインタフェース定義
 3.CORBA の効果
 4.CORBA の要素技術
  4.1.ORB ( Object Request Broker
  4.2.IDL ( Interface Definition Language )
  4.3.IIOP ( Internet Inter-ORB Protocol )
  4.4.POA ( Portable Object Adapter )
  4.5 ネーミング・サービス
 5.CORBA と Web サービス


1.CORBA とは
CORBA は、Common Object Request Broker Architecture の略で「コルバ」もしくは「コーバ」と読みます。分散システム環境においてプラットフォームやプログラム言語の壁を超えてオブジェクト( プログラム部品 )同士がメッセージを交換するための共通仕様です。OMG ( Object Management Group )により 1991 年にバージョン 1.0 の仕様が策定され、その後数々のバージョンアップを重ねています。


2.CORBA の特徴
 2.1.特定のプラットフォーム (OS) やプログラミング言語に依存しない
  主要な UNIX と Windows 系 OS、メインフレーム OS、組み込み OS 上で広くサポートされています。そのため、異なるプラットフォームの分散環境を統合することができます。


 2.2.相互運用性 (異なる製品間でメッセージ交換できる)
  IIOP ( Internet Inter-ORB Protocol )という共通のプロトコルを用いることによって、他の CORBA 製品やJavaRMI、EJB、HORB、COM とも通信を行うことができます。


 2.3.共通のインタフェース定義
  オブジェクト( プログラム部品 )のインタフェースを IDL ( Interface Definition Language )という共通なインタフェース記述言語で定義します。これにより、プログラムミング言語からの独立性、クライアントとサーバの分離などを実現できます。



3.CORBA の効果
既存システム CORBA CORBAシステム
●システムごとに別々のアクセス手段
●ポイント トゥ ポイントの接続
●特定のプラットフォームに依存
  ●ORB( Object Request Broker )というソフトウェアを介して相互接続
●ソフトウェアの機能が分散オブジェクトとして存在
●分散オブジェクトとの通信は標準プロトコル"IIOP"を使用
( 独自プロトコルの設計は不要 )
既存システムの連携や市販製品との連携では、ファイルデータの交換や、新たなクライアント/サーバ化( 独自プロトコル )など、多くの手間や時間/費用がかかり、結果として使いにくさに甘んじるしかなく、既存システムを有効に活用出来ませんでした。   CORBAで各システムを統合すると、個々に存在していたシステムがどこからでも自由に利用できるようになります。既存システム間の連携や市販製品との連携が容易に実現でき、さらに今までの情報資産を生かした次世代のシステム構築になります。



4.CORBA の要素技術
 4.1.ORB (Object Request Broker)
  ORB はクライアントとサーバとの間のメッセージ通信を仲介するバスです。クライアントやサーバあらゆるメッセージ通信は ORB を通してのみ行われます。 ORB により以下のような効果が得られます。



ORBイメージ図


   ■オブジェクトの位置透過性
    あるオブジェクトが他のオブジェクトにメッセージを送信する際、相手オブジェクトがローカルマシンに存在するかリモートのマシンに存在するかを全く意識することなく通信できます。


   ■オブジェクト実装言語からの独立性
    IDL (Interface Definition Language)と呼ばれる共通のインタフェース記述言語によって記述され、オブジェクトの実装は完全に外部から隠蔽されているため、 オブジェクトが異なるプログラム言語で実装されている場合でも通信できます。


 4.2.IDL (Interface Definition Language)
  IDL には、オブジェクトが外部に公開する属性( データ )とオペレーション ( メソッド )を記述します。IDL はインターフェイスを含むさまざまな型を 定義するための言語であり、プログラムのロジックを記述するための Java のようなプログラミング言語とは異なります。


 4.3.IIOP (Internet Inter-ORB Protocol)
  IIOP は、CORBA において相互接続のための標準通信プロトコルです。特定のトランスポート・プロトコルに依存しない GIOP( General Inter-ORB Protocol ) という上位プロトコルがあり、IIOP は GIOP が TCP/IP で動作するためのプロトコルです。


 4.4.POA (Portable Object Adapter)
  CORBA オブジェクトは、識別子とインタフェース、実装を持った抽象的な要素です。一方、オブジェクトを具体的に実装したクラスのインスタンスをサーバントと呼びます。サーバ上で、抽象的な CORBA オブジェクトと具体的なサーバントをバインディングし、CORBA オブジェクトに対するリクエストを受信してサーバントに送信するための仕組みを、オブジェクトアダプタ( OA )といいます。オブジェクトアダプタは、CORBA オブジェクトとサーバントを仲介する役割を持ちます。


 4.5.ネーミング・サービス
  ネーミングサービスはオブジェクトの検索を行うサービスの一つであり、CORBA の仕様で定義されている CORBA サービスのひとつです。 分散環境においてクライアントは、ネーミングサービスを利用してサーバのオブジェクト参照を取得します。



ネーミングサービスのイメージ図


   (1) サーバがネームサーバにオブジェクト参照を登録する
   (2) クライアントはネームサーバを検索し、サーバのオブジェクト参照を取得する
   (3) クライアントは取得したオブジェクト参照を用いて、サーバのサービスを起動する



5.CORBA と Web サービス
CORBA と Web サービスの比較です。





Copyright NEC Corporation. All rights reserved.