Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

RMI books hit the shelves

Learn RMI with a book that suits your programming needs

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Until recently, if you wanted up-to-date information about Java's Remote Method Invocation (RMI), you had to piece together information from magazines, tutorials, and mailing lists. A few Java books provided a chapter or two devoted to RMI, but those were only intended as introductions. After a long dry spell, two new books devoted to RMI were published this year. In this article, I'll review both of them:
  • Mastering RMI: Developing Enterprise Applications in Java and EJB, Rickard Öberg (John Wiley & Sons)
  • Java.rmi: The Remote Method Invocation Guide, Esmond Pitt and Kathleen McNiff (Addison-Wesley)


The table below provides a quick review of the books' main characteristics. The first three rows are the administrative details. The remaining rows rate each book's coverage of different RMI topics.

RMI books overview
Title Mastering RMI Java.rmi
Price 9.99 9.99
Total pages 305 284
CD-ROM/Companion Website Yes / Yes No / Yes
Basic RMI Good Good
Serialization Good Excellent
Naming services Good Average
Threading issues Excellent Good
Exceptions Average Excellent
Dynamic classloading Excellent Excellent
Sockets Good Good
Activation Average Average
RMI over IIOP None Excellent
Jini Excellent None
Security Average Good
Firewalls None Excellent
Agents Good Average
Basic EJB Good None
Scale: None, Poor, Average, Good, Excellent


Mastering RMI: Developing Enterprise Applications in Java and EJB

Rickard Öberg's Mastering RMI emphasizes instruction by example with a collection of tutorials that show and explain extensive sample code. If you are new to RMI, the ample code is a big plus because you can experiment with meaningful applications. The downside to the book's tutorial approach is that coverage of some topics spreads across more than one chapter.

Chapter 1 is an overview of client/server architectures. It provides introductory information on distributed computing and network protocols. Chapter 2 introduces RMI and then goes into its details. Öberg discusses the difference between the RMI specification and Sun's default implementation, which is based on the Java Remote Method Protocol (JRMP). He also introduces the threading model, marshalling, naming, and dynamic classloading, and then uses these concepts in Chapter 3 to describe a simple example application.

Chapter 4 improves that example application by using the Java Naming and Directory Interface (JNDI) and dynamic classloading. One of the book's strengths is that Öberg provides several examples on dynamic classloading, which is often difficult to configure in RMI. The chapter covers several dynamic classloading pitfalls in depth.

Chapters 5 and 6 contain topics optional for many RMI users. Chapter 5 describes custom socket factories while Chapter 6 covers activation. Unlike the first four chapters, I didn't feel I had mastered these subjects after reading their respective chapters. The sample code is well described, but I was left wondering which methods am I required to override when creating a custom socket factory? The information on activation likewise left me with the need to do further study before writing code that uses this RMI capability.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources