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