目次|前|次 | 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.