Java Remote Method Invocation (RMI) allows programmer to execute remote methods using the same semantics as local functions calls. RMI is Java’s version is Remote Procedure Call (RPC). RMI internal implementation is out of client scope and only deals with exposed interface of remote server object. The aim of RMI is to allow the programmers to invoke remote services from remote objects. The paper explains the RMI architectural layers and its mechanism. The paper deals with the working of all the layers of RMI and how they are implemented. This paper has taken into account an example to explain the proper working of RMI.