Thursday, November 19, 2009

Download Ebook: Java RMI (William Grosso)


This book covers an enormous amount of ground, starting with streams and sockets and working its way through the basics of building scalable client-server architectures using RMI. While the order of chapters is a reasonable one, and one that has served me well in introducing RMI to my students at U.C. Berkeley Extension, it is nonetheless the case that skipping around can sometimes be beneficial. For example, Chapter 10, which discusses object serialization, really relies only on streams (from Chapter 1) and can profitably be read immediately after Chapter 4 (where the first RMI application is introduced).

The book is divided into three sections. Part I starts with an introduction to some of the essential background material for RMI. After presenting the basics of Java's stream and socket libraries, we build a simple socket-based distributed application and then rebuild this application using RMI. At this point, we've actually covered most of the basics of building a simple RMI application.

The rest of Part I (Chapters Chapter 5 through Chapter 9) presents a fairly detailed analysis of how introducing a network changes the various aspects of application design. These chapters culminate in a set of principles for partitioning an application into clients and servers and for designing client-server interaction. Additionally, they introduce an example from banking which is referred to repeatedly in the remainder of the book. After finishing the first section, you will be
able to design and build simple RMI applications that, while not particularly scalable or robust, can be used in a variety of situations.

Part II builds on the first by drilling down on the underlying technologies and discussing the implementation decisions that must be made in order to build scalable and secure distributed applications. That is, the first section focuses on the design issues associated with the clientserver boundary, and the second section discusses how to make the server scale. As such, this section is less about RMI, or the network interface, and more about how to use the underlying Java technologies (e.g., how to use threads). These chapters can be tough sledding™ this is the technical heart of the book.

Part III consists of a set of independent chapters discussing various advanced features of RMI. The distinction between the second and third sections is that everything covered in the second section is essential material for building a sophisticated RMI application (and hence should be at least partially understood by any programmer involved in the design or implementation of an RMI application). The topics covered in Part III are useful and important for many applications but are not essential knowledge.

DOWNLOAD

0 comments: