クライアントの開発

このドキュメントは J2SETM リリース用に更新されていません。 このドキュメントを J2SETM ドキュメントバンドルの一部としてダウンロードした場合は、Web サイト http://java.sun.com/j2se/1.4/docs/guide/idl/jidlClients.html を参照して、更新されているかどうかを確認してください。


更新されている場合、ここには以下のトピックが含まれています。

ORB と呼び出し

クライアントが CORBA オブジェクトのオペレーションを呼び出すには、クライアントとサーバ (オブジェクトの実装) の両方が ORB (Object Request Broker) という CORBA ソフトウェアコンポーネントを使用する必要があります。 ORB は、クライアントとサーバとで異なる位置、プラットフォーム、およびプログラム言語の違いを埋める役目を果たす共通の基準です。 ORB は、ネットワーク経由で互いにコンタクトをとることが可能で、オブジェクトの参照 (CORBA オブジェクトハンドル) を作成および解釈することができます。 また、パラメータを IIOP が使用する形式に整列化したり、IIOP が使用する形式から他の形式に整列化することもできます。ここでは説明を省略しますが、ORB は、クライアント/サーバ通信以外のサービスも提供します。

CORBA オブジェクトのオペレーションを呼び出すには、次の 2 通りの方法があります。

静的な呼び出し

CORBA オブジェクトで静的な呼び出しを行う場合、Java クライアントには、オペレーションを実行するサーバントへのオブジェクト参照が必要になります。 オブジェクト参照には、次の 2 つの重要な機能があります。

クライアントはオブジェクト参照を作成しませんが、通常、ファクトリやネーミングコンテキストなどの他のオブジェクトからオブジェクト参照を取得します。

OMG IDL は、CORBA オブジェクトのインタフェースを定義する言語です。 idlj コンパイラは、OMG IDL モジュールごとに Java パッケージを生成します。 OMG IDL モジュールで定義された各インタフェース Foo に対して生成されたパッケージには、クライアントプログラマにとって有用な以下の項目が含まれています。

動的な呼び出し

CORBA の動的呼び出しは「request」と呼ばれるオブジェクトを使用して、呼び出しに関するすべてを保持します。 その中には、オブジェクト参照、オペレーション名、そのパラメータ、および結果の領域が含まれます。 クライアントは、オペレーションを記述する request オブジェクトを構築し、その invoke メソッドを呼び出します。このメソッドはスタブと同様の方法で要求をディスパッチします。 invoke メソッドが返されると、その結果は request オブジェクトで利用できるようになります。

動的な呼び出しの鍵となるのは、自己記述型データを保持する要求機能です。 この機能により、request オブジェクトは、パラメータに関係なく、任意のオペレーションの任意の呼び出しを代理実行できます。 自己記述型データの各要素は、OMG IDL では Any という特別な型を持っています。 Any は、タイプコード (その値は OMG IDL により定義されている) と値で構成され、タイプコードには値の型を指定します。


クライアント | サーバ | 例外 | 初期化 | ネームサービス

ホーム

概念

プログラミング

参照

チュートリアル


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