Java(tm) RMI-IIOP Documentation


JavaTM RMI-IIOP Documentation

Documentation Contents

RMI over IIOP is part of the JavaTM 2 Platform, Standard Edition, v1.3. RMI over IIOP provides the ability to write CORBA applications for the Java platform without learning CORBA Interface Definition Language (IDL). To work with CORBA applications in other languages, IDL can be generated from Java programming language interfaces using the rmic compiler with the -idl option. Use the rmic compiler with the -iiop option to generate IIOP stub and tie classes, rather than Java Remote Messaging Protocol (JRMP) stub and skeleton classes. For older versions of the JDK, the RMI over IIOP compiler is available as a separate download.

RMI over IIOP includes the full functionality of a CORBA Object Request Broker (ORB). The good news for developers is that the JavaTM Standard Edition, v1.2 and higher includes a fully-functional ORB that is available in every deployment of the Java 2 Platform, Standard and Enterprise Editions. Now you can write Java CORBA code without having to license any other software!

RMI-IIOP combines the best features of Java Remote Method Invocation (RMI) with the best features of Common Object Request Broker Architecture (CORBA). It provides you with a powerful environment in which to do distributed programming using the Java platform.

Like RMI, RMI-IIOP speeds distributed application development by allowing developers to work completely in the Java programming language. When using RMI-IIOP to produce Java technology-based distributed applications, there is no separate Interface Definition Language (IDL) or mapping to learn. Like RMI, RMI-IIOP provides flexibility by allowing developers to pass any serializable Java object (Objects By Value) between application components. Like CORBA, RMI-IIOP is based on open standards defined with the participation of hundreds of vendors and users in the Object Management Group. Like CORBA, RMI-IIOP uses Internet Inter-ORB Protocol (IIOP) as its communication protocol. IIOP eases legacy application and platform integration by allowing application components written in C++, Smalltalk, and other CORBA supported languages to communicate with components running on the Java platform.

With RMI-IIOP, developers can write remote interfaces in the Java programming language and implement them simply using Java technology and the Java RMI APIs. These interfaces can be implemented in any other language that is supported by an OMG mapping and a vendor supplied ORB for that language. Similarly, clients can be written in other languages using IDL derived from the remote Java technology-based interfaces. Using RMI-IIOP, objects can be passed both by reference and by value over IIOP.

The RMI Programming Model

The RMI Programming model enables the programming of CORBA servers and applications via the rmi API. You can choose to work completely within the Java programming language, using the Java Remote Method Protocol (JRMP) or work with other CORBA-compliant programming languages using the Internet InterORB Protocol (IIOP). This page discusses using IIOP as the transport. For more information on using the JRMP transport, link to the RMI page at

There are several scenarios that will define how you will want to create distributed applications. Here are some of them:

RMI-IIOP Developer Documentation

RMI-IIOP Tools Documentation

RMI-IIOP Javadoc API Reference

For more information

The OMG is the official source of information for all CORBA and IIOP related information. The CORBA/IIOP 2.3.1 Specification, formal/99-10-07 is available electronically.

Send questions or comments to:


Java Software - all specs in one place