OMG             Sun             Java
Documentation Contents
Changes in CORBA (Java IDL, RMI-IIOP) Features Between J2SETM 1.3 and 1.4
Java RMI over IIOP Home page

JavaTM RMI over IIOP
Documentation Home Page

JavaTM Remote Method Invocation over Internet Inter-ORB Protocol technology ("RMI-IIOP") is part of the JavaTM 2 Platform, Standard Edition (J2SETM). 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) as the transport, or work with other CORBA-compliant programming languages using the Internet InterORB Protocol (IIOP).

RMI-IIOP utilizes the Java CORBA Object Request Broker (ORB) and IIOP, so you can write all of your code in the Java programming language, and use the rmic compiler to generate the code necessary for connecting your applications via the Internet InterORB Protocol (IIOP) to others written in any CORBA-compliant language. 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. To generate IIOP stubs and tie classes, use the rmic compiler with the -iiop option. For more information on using rmic, link to rmic - The Java RMI Compiler.

When should I use RMI-IIOP?

RMI-IIOP is for developers who program in the Java programming language and want to program to the RMI interfaces, but use IIOP as the underlying transport. RMI-IIOP provides interoperability with other CORBA objects implemented in various languages - but only if all the remote interfaces are originally defined as Java RMI interfaces. It is of particular interest to programmers using Enterprise JavaBeansTM (EJBTM), since the remote object model for EJB components is based on the RMI API.

RMI-IIOP combines the best features of Java Remote Method Invocation (RMI) with the best features of CORBA. RMI-IIOP speeds distributed application development by allowing developers to work completely in the Java programming language, writing remote interfaces in the Java programming language and implementing them simply using Java technology and the Java RMI APIs.

When using RMI-IIOP to produce technology-based distributed applications written in the Java programming language, there is no separate Interface Definition Language (IDL) or mapping to learn: the remote 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.

RMI-IIOP provides flexibility by allowing developers to pass any Java object between application components either by reference or by value.

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.

What other options do I have for distributed application development?

Developers who program using the JavaTM programming language can choose several solutions for creating distributed applications programs.

New Java RMI-IIOP Features in J2SE 1.4

Java RMI over IIOP Tutorials

Java RMI-IIOP Developer Documentation

Java RMI-IIOP Tools Documentation

RMI-IIOP Javadoc API Reference

For more information

The Java IDL technology pages include a lot of information that is useful to developers using Java RMI-IIOP technology.

The OMG is the official source of information for all CORBA and IIOP related information. The CORBA 2.3.1 Specification is available electronically from formal/99-10-07. The URLs for the CORBA specifications may change. If this link is broken, link to and search the specifications.

For more information on which specifications are implemented in this release of the Java platform, see the compliance document.

For questions, please try the user supported forum for RMI-IIOP technology, which is available at For general questions on the RMI-IIOP technology, please send email to For comments on the tutorials, or to report errors in the tutorials, please send email to

Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved.

Send questions or comments to: