RMI allows for remote method invocation, making remote objects appear local to clients. It handles threading, sockets, object marshalling between client and server JVMs. The client looks up remote objects in the RMI registry and calls methods which are executed on server object skeletons. Return values pass through stubs back to the client. Advantages include automatic threading and marshalling, dynamic class loading. Disadvantages are that RMI only works with Java and security must be closely monitored.
Related topics: