This document discusses distributed programming with Java RMI. It explains the key components of client-server systems and different distributed computing models like DCE, DCOM, CORBA, and Java RMI. It then describes how Java RMI works, the packages involved, and provides steps to implement a basic RMI application with a remote interface, server implementation, and client.