Java RMI 【Java Remote Method Invocation】

概要

Java RMI(Java Remote Method Invocation)とは、あるJavaオブジェクトから、異なるコンピュータ上で動作する別のJavaオブジェクトのメソッドを呼び出して実行することができるようにする仕組み。また、その機能を利用するために規定されたAPI。java.rmiパッケージから利用することができる。

Java RMIを利用すると、通信ネットワークを介して異なるコンピュータで動作するJavaプログラムにアクセスし、そのプログラムの提供するオブジェクトのインスタンスを生成してプロパティやメソッドを呼び出すことができるようになる。オブジェクトを提供する側のプログラムを「RMIサーバ」、それを呼び出して利用する側のプログラムを「RMIクライアント」という。

Java RMIの規約に従ってサーバとクライアントを記述すれば、手元にあるオブジェクトを利用するのに近い記述で遠隔のオブジェクトを呼び出すことができ、プログラマは通信や実行制御などの詳細を意識せずに遠隔オブジェクト呼び出しを行なうことができる。

異なるコンピュータで動作しているJava仮想マシンJVM)間で通信するためのプロトコル(通信規約)として「JRMP」(Java Remote Method Protocol)が規定されているが、オプションでIIOPInternet Inter-ORB Protocol)を利用することもでき(RMI-IIOP)、CORBA規格に準拠したオブジェクトと通信することもできる。

(2024.1.12更新)