RMI-IIOP

Share on Facebook Share on Twitter Email

RMI-IIOP (read as "RMI over IIOP") denotes the Java Remote Method Invocation (RMI) interface over the Internet Inter-Orb Protocol (IIOP), which delivers Common Object Request Broker Architecture (CORBA) distributed computing capabilities to the Java 2 platform. It is based on two specifications: the Java Language Mapping to OMG IDL, and CORBA/IIOP 2.3.1.[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, say, a subroutine on another computer as defined by RMI.

Contents

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 and IBM, combining features of Java RMI technology with features of CORBA technology.

Specification

RMI-IIOP only uses the generated code for remote objects and does not require supplementary classes for non-trivial data, as this is the case with CORBA. This results in less code and a smaller footprint.

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 is necessary.[2] Instead, the data structure definitions are "supposed" automatically, collecting the necessary data via reflection mechanisms.

Both CORBA and RMI-IIOP uses the same General Inter-ORB Protocol communication standard. If required, it is possible to generate the IDL definitions for the involved RMI-IIOP data structures and use these definitions to arrange the interoperability between the RMI-IIOP and plain CORBA applications.

The recent versions of RMI-IIOP derive their servants from the standard Servant class. Hence, it is possible to connect them to the CORBA ORB manually, involving, if necessary, the Portable Object Adapter, Portable Interceptors, CORBA naming service, and all other standard CORBA features.

References

  1. ^ "Java SE Core Technologies - CORBA / RMI-IIOP". http://www.oracle.com/: ORACLE. http://www.oracle.com/technetwork/java/javase/tech/corba-135898.html. Retrieved 2011-04-12. "In addtion [sic] to Java IDL, Java SE also supports Java Remote Method Invocation over Internet Inter-ORB Protocol technology ("RMI-IIOP") This technology provides the ability to write CORBA applications for the Java platform without learning CORBA Interface Definition Language (IDL). RMI over IIOP is based on two specifications of the Object Management Group: Java Language Mapping to OMG IDL Specification, and CORBA/IIOP 2.3.1 Specification, formal/99-10-07." 
  2. ^ "RMI-IIOP Programmer's Guide: What is RMI-IIOP? RMI". http://download.oracle.com/: ORACLE. http://download.oracle.com/javase/1.4.2/docs/guide/rmi-iiop/rmi_iiop_pg.html. Retrieved 2011-04-12. "With RMI you can write distributed programs in the Java programming language. RMI is easy to use, you don't need to learn a separate interface definition language (IDL), and you get Java's inherent "write once, run anywhere" benefit. Clients, remote interfaces, and servers are written entirely in Java. RMI uses the Java Remote Method Protocol (JRMP) for remote Java object communication." 

External links


Post a question - any question - to the WikiAnswers community:

Copyrights: