Java Remote Method Invocation




Java is an object oriented language. Objects are defined by their contained data and the methods to use and manipulate this data. The Java Remote Method Invocation (RMI) system operates in this object oriented Java programming language and handles objects efficiently. The Java RMI system acts by calling a method of a remote interface which declares the method of the remote object. The Java RMI system assumes it is operating on a Java Virtual Machine, that is a pseudo microprocessor implemented in software which utilizes the operating system and hardware of the host. Since the microprocessor is implied and not real, code is interpreted rather than executed by the host computer.

Figure 2: Java RMI Architecture

The diagram is a representation of the Java RMI system and depicts the bi-directional pathway traveled when a client invokes a method on a remote server object. The stub/skeleton is the interface between the Applet or Application and transmits data to the remote reference layer. The stub initiates a call to the remote object by requesting the remote reference layer to invoke the call and also notifies the remote reference layer when the call is complete. The skeleton initiates the call to implement the remote object. The remote reference layer communicates with the transport layer which sets up, manages and monitors the connections to remote addresses.