Java IDL 用語集


Common Object Request Broker Architecture (CORBA)
CORBA オブジェクトモデルの基礎となる OMG 仕様のアーキテクチャ。CORBA の仕様には、言語に依存しない方法でオブジェクト間の契約を作成して分散アプリケーションの実装を可能にする Interface Definition Language (IDL) が含まれます。
関連項目 : クライアント層サービス層データ格納層

CORBA オブジェクト
(1) OMG IDL インタフェースにより定義された実体、また (2) オブジェクト参照を利用可能な実体。Object はまた、IDL インタフェースのオブジェクト参照に利用される暗黙の共通基本型でもあります。

Dynamic Invocation Interface (DII)
クライアントに対し、リモートの CORBA オブジェクトへの動的呼び出しを可能にする API。コンパイル時にクライアントが、自分が呼び出すオブジェクトについて知らない場合に使用します。オブジェクトを発見すると、クライアントプログラムはその定義を取得し、オブジェクトへのパラメータ化された呼び出しを発行し、オブジェクトからの応答を受け取ります。これらすべては、リモートオブジェクトに対して型固有のクライアントスタブを使用せずに行われます。

Dynamic Skeleton Interface (DSI)
コンパイル時にオブジェクト実装型が不明な場合に、要求を ORB からオブジェクト実装に渡す方法を提供する API。DSI はクライアント側の DII と同等の機能をサーバ側に提供します。アプリケーションプログラマは DSI を使って受け取った要求のパラメータを検査し、ターゲットオブジェクトおよびメソッドを判定することができます。

idltojava コンパイラ
OMG IDL で記述されたインタフェースを受け取り、Java プログラミング言語のインタフェースおよびクラスを生成するツール。生成されたインタフェースおよびクラスは、IDL インタフェースから Java プログラミング言語へのマッピングを表します。出力されるファイルの形式は .java ファイルです。

Interface Definition Language (IDL)
すべての CORBA オブジェクトのインタフェースを定義する OMG 標準言語。IDL インタフェースは、オペレーション例外、および属性のセットを宣言します。各オペレーションには、名前、パラメータ、結果、および例外を定義したシグニチャーが付けられます。OMG IDL にはオペレーションの実装は含まれません。その名前が示すように、IDL はインタフェースを定義するだけの言語です。IDL の完全な構文およびセマンティクスについては、OMG Web サイトで「OMG specification」の第 3 章を参照してください。

Internet InterORB Protocol (IIOP)
OMG 仕様による ORB 間通信用のネットワークプロトコル。Java IDL は IIOP Version 1.0 に準拠しています。

Java IDL
CORBA オブジェクトを Java プログラミング言語から使用することを可能にするクラス、ライブラリ、およびツール。Java IDL の中核をなすコンポーネントは ORB、ネームサービス、および idltojava コンパイラです。ORB とネームサービスは JDK 1.2 に含まれています。idltojava コンパイラは Java Developer Connection (JDC) の Web サイトからダウンロードできます。

Object Management Group (OMG)
オブジェクト指向アプリケーション開発のための共通のフレームワークを提供する目的で、業界のガイドラインおよびオブジェクト管理仕様を確立する、700 以上のメンバから成る国際的な組織。そのメンバには、プラットフォームベンダー、オブジェクト指向データベースベンダー、ソフトウェアツール開発者、企業開発者、およびソフトウェアアプリケーションベンダーが含まれます。CORBA オブジェクトモデルの仕様は、OMG が策定した Common Object Request Broker Architecture により定められています。詳細については、www.omg.org を参照してください。

Object Request Broker (ORB)
CORBA オブジェクトが相互に通信することを可能にする分散環境のライブラリ、プロセス、および他の基盤。ORB は、オブジェクト要求サービスを、それらを提供するオブジェクトに接続します。

PIDL (擬似 IDL)
CORBA 擬似オブジェクトを記述する Interface Definition Language。IDL から Java プログラミング言語へのマッピングを含む各言語マッピングは、擬似オブジェクトを言語固有の構造にマッピングする方法を記述します。PIDL マッピングは、正規 CORBA オブジェクトのマッピング規定に従う場合も、従わない場合もあります。

インタフェースリポジトリ (IFR)
登録されたコンポーネントのインタフェースとそれがサポートするメソッド、必要なパラメータのすべてを含むサービス。IFR は、オブジェクトのインタフェース定義を格納、変更、および管理します。プログラムが IFR API を使ってこの情報にアクセスし、変更することも可能です。一般のクライアント/サーバ環境では IFR は必要ありません。

オブジェクト
コンピュータ上で、オペレーションおよびデータをモジュール化された単位にグループ化したもの。オブジェクトは、自らが他のオブジェクトに提示するインタフェース、インタフェース上のオペレーションが呼び出された時の動作、およびオブジェクトの状態により定義されます。

オブジェクト参照
ORB でオブジェクトを指定するのに必要な情報を含む構造。オブジェクト参照は CORBA オブジェクトの位置を調べるためにメソッド呼び出しで使用されます。オブジェクト参照は、プログラミング言語固有のオブジェクトポインタと同等の機能を CORBA オブジェクトに実装したものです。オブジェクト参照は、ファクトリオブジェクトやネームサービスから取得することができます。オブジェクト参照は不透明である (内部構造がアプリケーション開発者に無関係である) ため、いつも同じ CORBA オブジェクトを指します。しかし、同一の CORBA オブジェクトを指す複数のオブジェクト参照が存在することもあります。

オブジェクトの実装
実装を参照。

オペレーション (IDL)
Java プログラム言語のメソッドへのマッピングを行う IDL インタフェース内の構造。たとえば、ball というインタフェースは bounce というオペレーションをサポートする、といった具合です。オペレーションは、パラメータを取り、結果を返し、例外を発生させることができます。この IDL オペレーションは片方向であることもあります。この場合、結果 (戻り値や out 引数) は返されず、例外も発生しません。

擬似オブジェクト
IDL で記述されたという点では CORBA オブジェクトに類似しているが、オブジェクト参照を使った引き渡しもナロー変換も文字列化もできないオブジェクト。擬似オブジェクトの例として、インタフェースリポジトリと DII を挙げることができます。これらはライブラリとして実装されていますが、OMG の仕様で明確に IDL インタフェースを持つ擬似オブジェクトとして規定されています。擬似オブジェクト用の IDL は PIDL と呼ばれ、その明確な仕様は現在策定中です。

クライアント
分散オブジェクト上でオペレーションを呼び出す任意のコード。クライアントは、それ自体が CORBA オブジェクトであることも、非オブジェクト指向のプログラムのこともあります。しかし、CORBA オブジェクト上のメソッドを呼び出している限り、クライアントとして機能していると言えます。

クライアントスタブ
idltojava により生成された Java プログラミング言語のクラス。オブジェクトの呼び出しの間、クライアント ORB から透過的に使用されます。クライアントによるリモートオブジェクト参照は、クライアントスタブを指します。このスタブは、それを生成した IDL インタフェース固有であり、クライアントが IDL インタフェースで定義された CORBA オブジェクトのメソッドを呼び出すのに必要な情報を含んでいます。

クライアント層
サーバ層にサービスを要求する分散アプリケーションの一部。通常、クライアント層の特徴は、省資源のローカル環境、グラフィカルユーザインタフェース、開発と保守に要する労力の簡素化です。

サーバ
1 つ以上の IDL インタフェースの実装を含むプログラム。たとえば、デスクトップパブリッシングサーバは Document オブジェクト型、ParagraphTag オブジェクト型、および他の関連するオブジェクト型を実装するといった具合です。サーバには、各実装 (サーバントオブジェクト) を ORB に登録することが求められます。登録すると ORB はサーバントについて知ることができるからです。サーバは、オブジェクトサーバとして参照されることもあります。

サーバスケルトン
idltojava コンパイラにより生成されるパブリックな抽象クラス。サーバントオブジェクトへのメソッド呼び出しに必要な情報を ORB に送信します。クライアントスタブと同様、サーバスケルトンは、生成元の IDL インタフェースに固有です。サーバスケルトンは、クライアントスタブと同等の機能をサーバ側に提供します。サーバスケルトンもクライアントスタブも ORB の静的呼び出しで使用されます。

サーバントオブジェクト
IDL インタフェースのためのオブジェクト実装のインスタンス。呼び出しをどこに送信すればよいかを ORB が知ることができるように、サーバントオブジェクトは ORB に登録されます。CORBA オブジェクトのメソッドが呼び出されたとき、要求されたサービスを実行するのがサーバントの役割です。

サービス層
分散アプリケーションの一部。ビジネスロジックを含み、計算処理の大半を行います。通常、サービス層は、資源の最適利用のために共有マシン上に配置されます。

実装
サポートする IDL インタフェースのオペレーションや属性すべての動作を定義する具象クラス。サーバントオブジェクトは、実装のインスタンスです。1 つのインタフェースに対して多くの実装が可能です。

初期ネーミングコンテキスト
orb.resolve_initial_references("NameService") メソッドへの呼び出しにより返される NamingContext オブジェクト。初期ネーミングコンテキストは COS ネームサービスへのオブジェクト参照です。COS ネームサービスは、ORB により登録され、他の NamingContext オブジェクトを作成するのに使用されます。
関連項目 : ネーミングコンテキスト

静的呼び出し
呼び出しを参照。

属性 (IDL)
IDL インタフェースの属性は、パブリックなクラスフィールドや C++ のデータメンバに似ています。idltojava コンパイラは OMG IDL の属性を Java プログラミング言語のアクセス用および修飾用メソッドにマッピングします。たとえば、ball というインタフェースは color という属性を含むとします。idltojava コンパイラは色を取得するための Java プログラミング言語のメソッドを生成します。またその属性が readonly でない限り、生成されたメソッドは色を設定することもできます。 CORBA の属性と JavaBeans のプロパティは、密接に対応しています。

データ格納層
リレーショナルデータベースのような持続データとその格納機構へのアクセスを管理する分散アプリケーションの一部。

名前空間
グループにまとめられたネーミングコンテキストのコレクション。

名前のバインディング
名前をオブジェクト参照に関連付けること。名前のバインディングはネーミングコンテキストに格納されます。

ネーミングコンテキスト
NamingContext インタフェースをサポートし、他のネーミングコンテキストと単純名のいずれかまたはその両方を含み (指し示し)、一種のディレクトリとして機能する CORBA オブジェクト。ネーミングコンテキストはディレクトリ構造に類似しています。ディレクトリ構造では最後の項目がファイルを、残りの項目はディレクトリを表しますが、ネーミングコンテキストでは最後の項目はオブジェクト参照名を、残りの項目はネーミングコンテキストを表します。

ネームサービス
CORBA オブジェクトにネーミングを可能にする CORBA サービス。ネーミングは名前をオブジェクト参照にバインドすることにより可能になります。名前のバインディングはネームサービスに格納され、クライアントは名前を提供して目的のオブジェクト参照を取得できます。

パラメータ (IDL)
クライアントがオペレーションを呼び出す際に IDL オペレーションに渡す 1 つ以上のオブジェクト。パラメータは、in (クライアントからサーバへ渡される)、out (サーバからクライアントへ渡される)、または inout (クライアントからサーバへ渡され、その後サーバからクライアントに返される) として宣言されます。

ファクトリオブジェクト
CORBA オブジェクトの新規作成に使用される CORBA オブジェクト。ファクトリオブジェクト自体は、通常、サーバのインストール時に作成されます。

プラグマ
idltojava コンパイラに対し、IDL ファイルのコンパイル中に特定のオペレーションを実行するように与えられる指示。たとえば、プラグマ javaPackage は、idltojava コンパイラに対し、IDL インタフェースから生成した Java プログラミング言語のインタフェースおよびクラスを、指定した Java プログラミング言語のパッケージに配置するように指示します。

分散アプリケーション
1 つ以上のコンピュータで実行されるように設計されたプログラム。その機能は、一般的にクライアントサービス、およびデータ格納の各層に分割されます。

分散環境
CORBA オブジェクトを使用する 1 つ以上のコンピュータのネットワーク。さまざまなマシンにインストールされたオブジェクトの相互通信が可能です。

文字列化されたオブジェクト参照
ディスク上にテキストファイルの形式 (または他のなんらかの形式) で格納できるよう、文字列に変換されたオブジェクト参照。変換された文字列は、ORB の実装に依存しないために、不透明なものとして扱われる必要があります。org.omg.CORBA.Object の標準メソッドである object_to_string および string_to_object は、文字列化された参照をすべての CORBA オブジェクトで利用可能にします。

呼び出し
CORBA オブジェクトへのメソッド呼び出しを実行するプロセス。オブジェクトのネットワーク上の位置を知らずに行われます。静的呼び出しの場合、呼び出し用にクライアントスタブを使用し、呼び出されるサービス用にサーバスケルトンを使用します。コンパイル時にオブジェクトのインタフェースがわかる場合は、静的呼び出しを使用します。コンパイル時にインタフェースが不明な場合は、動的呼び出しを使用する必要があります。

例外 (IDL)
呼び出しに応答して返される、例外的な状況を表す IDL の構造。例外には次の 2 つのカテゴリがあります。(1) org.omg.CORBA.SystemException から継承するシステム例外 (java.lang.RuntimeException のこと)、および (2) org.omg.CORBA.UserException から継承するユーザ定義例外 (java.lang.Exception のこと)。


分散アプリケーションの概念 | CORBA および Java IDL の使用法 | Java IDL 用語集
ホーム

Copyright © 1996, 1997 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, CA. 94043-1100 USA., All rights reserved.