Jump to content

Java remote method invocation

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 151.42.172.170 (talk) at 20:57, 20 July 2021. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
A typical implementation model of Java-RMI using stub and skeleton objects. Java 2 SDK, Standard Edition, v1.2 removed the need for a skeleton.

In computing, the Java Remote Method Invocation (Java RMI) is a Java API that performs remote method invocation, the object-oriented equivalent of remote procedure calls (RPC), with support for direct transfer of serialized Java classes and distributed garbage-collection.

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, programmers later developed a CORBA version.

Usage of the term RMI may denote solely the programming interface or may signify both the API and JRMP, IIOP, or another implementation, whereas the term RMI-IIOP (read: RMI over IIOP) specifically denotes the RMI interface delegating most of the functionality to the supporting CORBA implementation.

The basic idea of Java RMI, the distributed garbage-collection (DGC) protocol, and much of the architecture underlying the original Sun implementation, come from the "network objects" feature of Modula-3.

  • "Remote Method Invocation Home". Oracle Technology Network for Java Developers. Redwood Shores, CA, USA: Oracle Corporation. Retrieved 2014-07-14.
  • The Java RMI tutorial - a good starting point to learn RMI. Also check the Hello World in RMI
  • the Java RMI online training - Very good for training JavaRMI and as reference
  • The RMI page in the JDK docs
  • java.rmi (Sun's Java API Reference for the RMI package)
  • Ann Wollrath; Roger Riggs; Jim Waldo. "A Distributed Object Model for the Java System" (PDF) (Document). Retrieved 2009-02-11. {{cite document}}: Cite document requires |publisher= (help); Unknown parameter |access-date= ignored (help); Unknown parameter |url= ignored (help)
  • Programming WebLogic RMI - an introduction to RMI in Oracle Weblogic.
  • General Remote Method Invocation