This document provides an overview of Remote Method Invocation (RMI) in Java. It describes how RMI allows objects to be distributed across machines and invoked remotely. The key steps to building an RMI application are discussed, including defining a remote interface, implementing remote objects, running the RMI registry, and compiling/running client and server code. An example is presented to demonstrate the required classes for a simple RMI application that retrieves a string remotely.