In order to overcome the language-specifi c disadvantages of RMI when compared
with CORBA, Sun and IBM came together to produce RMI-IIOP (Remote Method
Invocation over Internet Inter-Orb Protocol), which combines the best features of
RMI with the best features of CORBA. Using IIOP as the transport mechanism,
RMI-IIOP implements OMG standards to enable application components running
on a Java platform to communicate with components written in a variety of lan-
guages (and vice-versa)— but only if all the remote interfaces are originally defi ned
as Java RMI interfaces . RMI-IIOP was fi rst released in June of 1999 and is an inte-
gral part of the Java SE from version 1.3 onwards. It is intended to be used by soft-
ware developers who program objects in Java and wish to use RMI interfaces
(written in Java) to communicate with CORBA objects written in other languages.
It is of particular interest to programmers using Enterprise JavaBeans [see Chap.
11 ] , since the remote object model for EJBs is RMI-based. Using RMI-IIOP, objects
can be passed both by reference and by value over IIOP. However, the specifi c
implementation details of RMI-IIOP are outside the scope of this text.