Java Remote Method Invocation
異なるJava仮想計算機にあるオブジェクトのメソッドを呼び出す仕組み(分散オブジェクト技術)
RMIはトランスポート層などを見えなくする。⇒ 透過性
ソケットによる通信
APIには二つの共通する実装がある。本来の実装は表現メカニズムを分類するJava仮想マシンに依存している。したがって、それは一つのJVMからもう一つのJVMへと呼び出しを作ることだけをサポートする。このJavaのみによる実装の基礎をなすプロトコルはJRMP (Java Remote Method Protocol) として知られている。非JVMコンテキストでのコード実行をサポートするために CORBA (Common Object Request Broker Architecture) 対応が後から開発された。用語 RMI の使い方は単に、プログラミングインタフェースということを示すか、APIとJRMP両方を意味する一方、用語RMI-IIOPはRMIオーバーIIOPと読み、RMIインタフェースはCORBA実装サポート機能性の多くを代表することを意味する。
本来のRMI APIはHTTP転送のような異なる実装をいくぶん概括した。その上、CORBA対応で値渡しの機能を追加し、RMIインタフェースをサポートした。未だに、RMI-IIOPとJRMP実装はそれらのインタフェース内では完全に同一ではない。
このパッケージ名は java.rmi である。