Sebastopol, CA--For one reason or another, a perfectly good technology
will occasionally pick up a reputation that's undeserved. This is the
case with RMI, or remote method invocation--an important underlying
technology in Java distributed computing. Unfortunately, this
fundamental API has been poorly documented. "Developers are either
using massive frameworks like JMS or EJB, or they're building ad hoc
systems for remote method calls," says William Grosso, author of the
newly released Java RMI (O'Reilly, $39.95). "This is partially
because of the not-invented-here syndrome, partially because people go
with what they already know how to do--even if it's not a particularly
good tool for a job, and partially because RMI, in its early days, had
a reputation as being 'not very scalable.' I think the major reason for
this is the almost total lack of documentation. SUN provides the
JavaDoc, and a tutorial that builds a very simple application. RMI had
a reputation for being 'not very scalable' because the information
on how to build scalable apps simply wasn't there."
According to Grosso, Java RMI is a surprisingly easy framework to use.
"RMI is a robust and effective way to build distributed applications,"
he says. "Not only is RMI useful for building distributed applications,
it is ideal for Java programmers learning how to build a distributed
"RMI Technology is incredibly important," Grosso explains. "There are
five main ways to build a distributed application: raw sockets,
servlets, EJB, SOAP, and RMI. Raw sockets are too low-level to be
useful in a wide range of applications. Servlets are limited because
they use HTTP (they assume a browser is involved). EJB is best for a
very specific type of high-end server. And SOAP is best when you're
striving for standard-based interoperability. There is a vast middle
ground for which RMI is the best available technology."
Grosso's new book, Java RMI, provides strategies for working with
serialization, threading, the RMI registry, sockets and socket
factories, activation, dynamic class downloading, HTTP tunneling,
distributed garbage collection, JNDI, and CORBA. It also covers RMI
security, an increasingly important topic.
By William Grosso
1-56592-452-5, 572 pages, $39.95