Today's complex software systems, such as Internet communications, e-commerce or virtual private networks all depend on distributed applications. Developers have to contend with diverse hardware platforms, remote communication over networks, and system failures. Fortunately, the Java language helps to reduce the complexity of distributed systems via its platform-independence and its built-in mechanisms for distributed programming.
The first part of this book is a tutorial guide to distributed programming in the Java environment, showing how building blocks from threads to Jini can help developers to fulfil Sun's vision, that 'the Network is the Computer'. The second part focuses on aspects that are still challenging researchers: the integration of concurrency, distribution, and persistence.
Highlights of the book include: A clear tutorial introduction that focuses specifically on Java's role in building distributed applications. Coverage includes threads & sockets, RMI, CORBA, Voyager, Mobile agents, JDBC, object-oriented databases, Java spaces and Jini. Includes advanced chapters on the cutting edge of Java language development, including the author's own proposed Dejay (Distributed Java), an open-source project that offers a unified approach to concurrency, distribution and persistence. The book is aimed at developers wishing to deepen their knowledge of Java in distributed applications. Students taking courses on Distributed Systems/Objects will also find it invaluable, as will researchers on state-of the art developments in distributed Java.