Distributed computing and Java go together naturally. As the first language designed from the bottom up with networking in mind, Java makes it very easy for computers to cooperate. Even the simplest applet running in a browser is a distributed application, if you think about it. The client running the browser downloads and executes code that is delivered by some other system. But even this simple applet wouldn't be possible without Java's guarantees of portability and security: the applet can run on any platform, and can't sabotage its host.
Of course, when we think of distributed computing, we usually think of applications more complex than a client and server communicating with the same protocol. We usually think in terms of programs that make remote procedure calls, access remote databases, and collaborate with others to produce a single result. Java Distributed Computing discusses how to design and write such applications. 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 and 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. In the future, distributed computing can only become more important. Java Distributed Computing provides a broad introduction to the problems you'll face and the solutions you'll find as you write distributed computing applications. Topics covered in Java Distributed Computing:
- Introduction to Distributed Computing
- Networking Basics
- Distributed Objects (Overview of CORBA and RMI)
- Message Passing Systems
- Distributed Data Systems (Databases)
- Bandwidth Limited Applications
- Collaborative Systems