Java remote method invocation

From Wikipedia, the free encyclopedia

A typical implementation model of Java-RMI using Stub and Skeleton objects. Since Java 2 SDK, Standard Edition, v1.2 there is no need for a Skeleton.
A typical implementation model of Java-RMI using Stub and Skeleton objects. Since Java 2 SDK, Standard Edition, v1.2 there is no need for a Skeleton.

The Java Remote Method Invocation API, or Java RMI, is a Java application programming interface for performing the object equivalent of remote procedure calls.

There are two common implementations of the API. The original implementation depends on Java Virtual Machine (JVM) class representation mechanisms and it thus only supports making calls from one JVM to another. The protocol underlying this Java-only implementation is known as Java Remote Method Protocol (JRMP). In order to support code running in a non-JVM context, a CORBA version was later developed. Usage of the term RMI may denote solely the programming interface or may signify both the API and JRMP, whereas the term RMI-IIOP, read RMI over IIOP, denotes the RMI interface delegating most of the functionality to the supporting CORBA implementation.

The original RMI API was generalized somewhat to support different implementations, such as an HTTP transport. Additionally, work was done to CORBA, adding a pass by value capability, to support the RMI interface. Still, the RMI-IIOP and JRMP implementations are not fully identical in their interfaces.

The package name is java.rmi Note that with Java versions up to 5.0 it was necessary to compile RMI stubs in a separate compilation step using rmic. Version 5.0 of Java and beyond no longer require this step.

A more advanced version of RMI in Java is Jini - it is similar but provides more advanced searching capabilities and mechanisms for distributed object applications [1].

[edit] See also

[edit] External links

[edit] References

  1. ^ Taylor, Ian J. From P2P to Web Services and Grids - Peers in a Client/Server World. Springer, 2005