RMI-IIOP は、Java プログラミング言語を使用しており、IIOP を背後のトランスポートとして使用して RMI インタフェースでプログラムを作成したい開発者向けです。RMI-IIOP はさまざまな言語で実装される CORBA オブジェクトとの相互運用性を提供しますが、リモートインタフェースをあらかじめ Java RMI インタフェースとして定義しておく必要があります。EJB コンポーネントのリモートオブジェクトモデルは RMI API ベースなので、Enterprise JavaBeansTM (EJBTM) を使うプログラマには特に有用です。
RMI-IIOP は、Java リモートメソッド呼び出し (RMI) の優れた機能を、ORBA の優れた機能と結び付けます。RMI-IIOP は、開発者が完全に Java プログラミング言語の中だけで作業できるようにすることにより、分散アプリケーションの開発をスピードアップします。開発者は、リモートインタフェースを Java プログラミング言語で書くことができ、Java テクノロジと Java RMI API を使用するだけでリモートインタフェースを実装できます。
RMI-IIOP を使って Java プログラミング言語で書かれたテクノロジベースの分散アプリケーションを作成する場合、Interface Definition Language (IDL) やマッピングについて個別に学習する必要はありません。リモートインタフェースは OMG マッピングがサポートするほかの言語や、ベンダーが提供するその言語の ORB で実装することができます。またクライアントは、リモートの Java 技術ベースのインタフェースから派生した IDL を使ってほかの言語で書くこともできます。
RMI-IIOP では、開発者は、任意の Java オブジェクトをアプリケーションコンポーネント間で参照によっても値によっても受け渡しできるという柔軟性が得られます。
CORBA 同様、RMI-IIOP は、Object Management Group の多数のベンダーやユーザーの参加によって定義されたオープン標準に基づいています。CORBA と同じく、RMI-IIOP は、通信プロトコルとして Internet Inter-ORB Protocol (IIOP) を使用します。IIOP により、C++、Smalltalk、その他の CORBA 対応言語で記述されたアプリケーションコンポーネントが Java プラットフォームで実行するコンポーネントと通信できるため、従来のアプリケーションと Java プラットフォームの統合が容易になります。
JavaTM プログラミング言語を使ってプログラムを作成する開発者は、分散アプリケーションプログラムの作成方法を選択できます。