"Java is the language of network computing."
Lawrence J. Ellison, Chairman and CEO, Oracle Corporation
The introduction of the Java programming language to the computer market marked a turning point in the computer industry. It is a clean, rich, and powerful programming language. More importantly, its elegance makes it a pleasure to program in, and the Java Virtual Machine (JVM) enhances the portability of software across a heterogeneous network.
As a truly platform-independent language, Java allows applications written in it to run on any system that has a Java interpreter. This is an important feature, since network-based applications should run on all of the different Internet platforms. Java is described as a distributed language since it provides high-level support for networking.
Java provides a number of mechanisms for networking and distributed computing, including high-level APIs for sockets programming and the Java remote method invocation (RMI) system. Once Java was introduced, a number of vendors began building systems and tools that make the task of developing distributed applications easier than ever. For example, Inprise Corporation provides an implementation of CORBA 2.0. It? known as VisiBroker, and it is completely written in Java. A number of other vendors also began exploiting the idea of mobile agents, since Java represents an ideal language for developing them. One in particular is ObjectSpace; they developed Voyager ORB, which provides applications easily and quickly.
This book grew out of my experience writing distributed applications in Java. I started using Java when it was ??rst released to the public. However, unlike many other developers, I did not start with applets; rather, I started experimenting with building network-based applications using the java.net package. This book, therefore, covers everything for writing distributed applications in Java; its purpose is to provide practical advice about how to build those applications. You can think of this book as a complete tutorial on developing distributed applications in Java using different paradigms, including sockets, RMI, CORBA (using VisiBroker), and mobile agents (using Voyager). The sample programs shown throughout the book will give you an excellent starting point for writing your own distributed applications in Java.
I hope this book will provide you with a starting point for building distributed applications in Java. If it does help you get started building distributed applications quickly then I have accomplished what I ought to do.