Java Distributed Computing discusses how to design and write distributed
applications in Java. It covers Java's RMI (Remote Method Invocation)
facility and CORBA, but it doesn't stop there; it tells you how to
design your own protocols to build message-passing systems, discusses
how to use Java's security facilities, how to write multithreaded
servers, and more. It pays special attention to distributed data
systems, collaboration, and applications that have high bandwidth
requirements.