Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド

[目次][索引][前へ][次へ]

17.1 動的起動インタフェースとは

DII(動的起動インタフェース)を使用すると,クライアントプログラムから,そのクライアントの作成時点では型がわからないCORBAオブジェクトに対してメソッドを起動できます。DIIはデフォルトの静的起動とは対照的です。静的起動ではクライアントソースコードに,そのクライアントから起動するCORBAオブジェクトの型ごとに一つずつコンパイラが生成したスタブを組み込む必要があります。つまり,静的起動を使用するクライアントは,起動するオブジェクトの型を事前に宣言します。DIIを使用するクライアントは,どのような種類のオブジェクトが起動されるかがプログラマにもわからないので,そのような宣言をしません。DIIの利点は柔軟性です。DIIを使用すると,クライアントをコンパイルした時点ではインタフェースが存在しなかったオブジェクトも含め,任意のオブジェクトを起動できる汎用的なクライアントを作成できます。DIIの短所は次の2点です。

DIIは純粋にクライアントインタフェースであり,静的起動と動的起動はオブジェクトインプリメンテーションの観点から見れば同じものです。

DIIを使用すると,次のようなクライアントを作成できます。

クライアントは,DIIリクエストの中で有効な引数を引き渡さなければなりません。それに失敗すると,サーバのクラッシュも含め,予期できない結果が生じるおそれがあります。IRを使用してパラメタ値の型を動的にチェックすることもできますが,パフォーマンスが低下します。最も効果的な方法は,DIIを使用するクライアントを起動するコード(例えば,スクリプト)の信頼性を高め,確実に有効な引数が引き渡されるようにすることです。
<この節の構成>
17.1.1 DIIの主要な概念
17.1.2 オブジェクトのオペレーションを動的に起動する手順
17.1.3 DIIを使用したサンプルプログラムの格納場所
17.1.4 idl2javaコンパイラの使用(Java)