RMI-IIOP (read as "RMI over IIOP") denotes the
Java Remote Method Invocation (RMI) interface over the
Internet Inter-Orb Protocol
In distributed computing, General Inter-ORB Protocol (GIOP) is the message protocol by which object request brokers (ORBs) communicate in CORBA. Standards associated with the protocol are maintained by the Object Management Group (OMG). The curren ...
(IIOP), which delivers
Common Object Request Broker Architecture
The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sys ...
(CORBA)
distributed computing capabilities to the Java platform. It was initially based on two specifications: the Java Language Mapping to OMG IDL, and CORBA/IIOP 2.3.1.
With features inherited from CORBA, software components that work together can be written in multiple computer languages and run on multiple computers. In other words, it supports multiple platforms and can make remote procedure calls to execute, subroutines on another computer as defined by RMI.
History
The Java RMI-IIOP specification was created to simplify the development of CORBA applications, while preserving all major benefits. It was developed by
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
and
IBM, combining features of Java RMI technology with features of CORBA technology.
Specification
RMI-IIOP uses generated code for remote objects and does not require supplementary classes for non-trivial data, unlike CORBA. This results in less complexity and a smaller footprint. Both CORBA and RMI-IIOP utilize the General Inter-ORB Protocol communication standard.
RMI-IIOP is largely based on the
Object by Value concept that serves as a container or direct replacement for CORBA structures, unions, sequences, arrays and strings. No separate
IDL
IDL may refer to:
Computing
* Interface description language, any computer language used to describe a software component's interface
** IDL specification language, the original IDL created by Lamb, Wulf and Nestor at Queen's University, Canada
...
is necessary.
Instead, the data structure definitions are discovered automatically via reflection mechanisms. However, it is possible to generate the
IDL
IDL may refer to:
Computing
* Interface description language, any computer language used to describe a software component's interface
** IDL specification language, the original IDL created by Lamb, Wulf and Nestor at Queen's University, Canada
...
definitions for the involved RMI-IIOP data structures and use these definitions to exercise finer control between RMI-IIOP and CORBA communicating partners.
Recent versions of RMI-IIOP derive their servants from the standard
Servant
A domestic worker or domestic servant is a person who works within the scope of a residence. The term "domestic service" applies to the equivalent occupational category. In traditional English contexts, such a person was said to be "in service ...
class. Hence, it is possible to connect them to a CORBA ORB manually, involving one or more of Portable Object Adapters, Portable Interceptors, CORBA naming services, along with other standard CORBA features.
References
{{Reflist
External links
ORACLE Java SE Documentation — RMI-IIOP
Common Object Request Broker Architecture
Java platform