目次 | 前へ | 次へ |
Java Remote Method Invocation |
RMI アプリケーションは、多くの場合、サーバーとクライアントという 2 つのプログラムから構成されます。一般的なサーバーアプリケーションは、数多くのリモートオブジェクトを作成し、それらのリモートオブジェクトへの参照をアクセス可能にして、クライアントがそれらのリモートオブジェクトのメソッドを呼び出すのを待ちます。一般的なクライアントアプリケーションは、サーバー内の 1 つまたは複数のリモートオブジェクトへのリモート参照を取得し、それらのオブジェクトのメソッドを呼び出します。RMI は、サーバーおよびクライアント間で通信や情報の受け渡しを行うメカニズムを提供します。このようなアプリケーションは、分散オブジェクトアプリケーションと呼ばれることがあります。
分散オブジェクトアプリケーションで必要とされる処理は、次のとおりです。
- リモートオブジェクトの検索
アプリケーションは、リモートオブジェクトへの参照を取得するために、2 つのメカニズムのうちの 1 つを使うことができます。アプリケーションは、リモートオブジェクトを RMI の単純な名前付け機能である rmiregistry
に登録するか、あるいは通常の操作の一部としてリモートオブジェクト参照を渡したり、返したりできます。
- リモートオブジェクトとの通信
リモートオブジェクト間の通信の詳細は、RMI によって処理されます。プログラマからは、リモート通信が標準的なメソッド呼び出しに見えます。
- パラメータまたは戻り値として渡されるオブジェクトのクラスバイトコードのロード
RMI では、呼び出し側はリモートオブジェクトにオブジェクトを渡すことができるため、RMI は、データ転送の場合と同様に、オブジェクトのコードのロードにも必要なメカニズムを提供します。
次の図は、リモートオブジェクトへの参照の取得にレジストリを使用する RMI 分散アプリケーションを示しています。サーバーは、リモートオブジェクトに名前を関連付けるために、レジストリを呼び出します。クライアントは、サーバーのレジストリ内の名前によってリモートオブジェクトを見つけ、そのオブジェクトのメソッドを呼び出します。この図は、RMI システムで、既存の Web サーバーを使って、サーバーからクライアント、およびクライアントからサーバーに、必要に応じてオブジェクト用の Java 言語内のクラスのバイトコードをロードする様子も示しています。RMI では、Java プラットフォームのサポートする任意の URL プロトコル (HTTP、FTP、ファイルなど) を使って、クラスバイトコードがロードされます。
目次 | 前へ | 次へ
Copyright 1997, 2010, Oracle and/or its affiliates. All rights reserved.