As I work in a middleware development environment I was interested in reviewing this book for two reasons; a) its relevance to my job - expanding my knowledge and b) the recent RMI technology issues and changes. I have used some simple RMI code using Java and C when I worked as a trainer in my previous job.
The book is supplied with a CD, sadly, the one that I received was cracked in transit and I would not risk running it in any of my CD drives - IMO there is too much risk of damage to the drive unit if the CD breaks up. What is annoying is that I sent two emails to Wiley asking for a replacement, without success. The first resulted in an automated response referring me to another email address to which I forwarded my second request- and I'm still waiting for a response. Very, very poor customer service Wiley! So I cannot comment on the CD contents at all.
I think that the book, itself, is not well thought-out or laid-out. The chapters cover the topics, but not in a very readable way. In technical books, I think that layout is very important and this book often intersperses code with commentary on the code (not in itself a bad idea), in what seems to me to be a very sloppy way. This often results in code being mixed with commentary and pictures or diagrams. In one case a side-bar is included in the middle of a 'tip', which is itself inside normal text - if I were the author I'd be extremely disappointed with the way in which my work has been presented. Further examples of this lack of attention to layout extends to the code listings, which in many cases are not split in the most appropriate way across page breaks.
The first two chapters are actually quite well laid-out and describe client-server applications and the use of RMI in a reasonable way, but the later chapters exhibit the problems that I mentioned earlier. It is almost as if the book has been produced to very tight time-scales and the layout and proof reading, which, in my opinion, ought to have corrected some of the layout problems, were given little consideration.
The book is in four sections. An Introduction, then a section describing simple RMI applications and the use of sockets and activation. The third section is devoted to some more complex applications - a chat application and a mobile agent. The last covers the use of RMI with JINI and EJB.
I would have enjoyed reading this book much more if the layout had been better, so I cannot recommend it in its current form. Others may take a less critical view of the layout than I and so be more generous, but for UKP 34 I think that readers are entitled to expect more.