クライアントの開発

このドキュメントは、今回のリリースでは更新されませんでした。


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

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 © 1993, 2013, Oracle and/or its affiliates. All rights reserved.