クライアントの開発

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


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

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