The Remote method invocation (RMI) design has to be developed in distributed Java programs consists of similar syntax and semantics that are applicable in non- distributed programs. One has to observe or learn the Java classes and objects in single Java virtual machine (JVM) and then go for the Java classes and objects to run on distributed Java virtual machine (Multiple MVM). 

RMI architecture is about the functions of objects, to keep memory, the limits, and remote operating procedures.

To design RMI system, the steps required:

  1. To develop interface Java code to write and compile.
  2. To implement classes Java code to write and compile.
  3. To create Stub and Skeleton class files from implemented classes
  4.  RMI Client program to be developed by Java code
  5. The RMI system to be install and run 

Java RMI Architecture 

The RMI Architecture designing is combined feature of Java programming language and the local object model developed with   Java distributed object model. The RMI architects developed successfully a safe and rich of Java architecture for the distributed computing. 

The theory of RMI architecture is relied on two major concepts, the definition of behavior and the implementation of the particular behavior. It requires code to define behavior separately the implement of behavior that can run separate JVM’s. 

The distributed system segregates the system by clients to know the definition and servers should be aimed in giving service. 

Mainly the RMI’s remote service is developed by applying the Java interface. How to apply the remote service has needed to code in a class. The RMI knowledge requires to memorize the interface define behavior and classes define implementation. 

So RMI system includes the Client Program for Interface and Server Program to implement. The RMI support for running two classes on the same interface which is included first class to apply the behavior and that runs on server and second class is remote service consists of proxy runs on client. The client program is used to put method calls on proxy objects, for which RMI instructs the remote JVM for implementation. The return values of implementation by remote JVM goes to client’s program via proxy service. The RMI uses network stack and TCP/IP for communications between JVM’s.

  Download  Remote Method Invocation in Java .