RMI の基本概念

RMI 技術を使用すると、あるプロセス内の Java オブジェクトが、別のプロセスで実行されている別の Java オブジェクトのメソッドを呼び出すことができます。次の図は、この技術を使用するプログラムの基本部分を示しています。

各部分が RMI プログラムで果たす役割を次に要約します。
  1. クライアントクラス -- サーバープロセスで実行されるメソッドを呼び出します。完全なクライアント側アプリケーションは、RMI クライアントクラスよりも多くのクラスから構成される場合があることに注意してください。
  2. スタブクラス -- クライアント側で使用されます。これらは、クライアントクラスの メソッド呼び出しを、ネットワーク接続で配信できる形式に変換します。 これらは、サーバー側から返された値に対して同じ機能を実行して、それらをクライアント側の 言語形式に変換します。
  3. RMI 実行時クラス -- プロセス間でのメソッド呼び出しの伝送と配信を管理します。
  4. 実装クラス -- サーバーのビジネスロジックを含みます。クライアントがリモートメソッド呼び出しで実行します。RMI モジュールは実装クラスを生成し、これらのクラスが自身のインスタンスを作成し、それらのインスタンスを RMI 実行時クラスにエクスポートします。実装クラスはまた、エクスポートされたインスタンスを参照し、これを RMI レジストリに登録することで公開して、他のユーザーが使用できるようにします。
  5. スケルトンクラス -- サーバー側で使用されます。スタブクラスによって生成され、RMI 実行時クラスによって伝送されたワイヤ形式のメソッド呼び出しを、サーバー側インスタンスで読み取れる形式に変換します。
注: RMI は複雑な技術であり、その包括的な説明はこのマニュアルの対象外です。RMI プログラムを開発する予定があるが、RMI 技術に詳しくないという場合は、RMI について書かれたいずれかの資料をよく読まれることをお勧めします。

著作権と商標について