is out now!
This is a new book, designed for professional developers who are
getting started with distributed computing. The book was written
by Tom Rodden (Professor of Computer Science at the University of
Nottingham, UK), and Keith Edwards (Member of the research staff at
This book presents a ground-up introduction to Jini technology,
starting from first principles, up through the basics (lookup,
discovery, mobile code), and on to more advanced topics (leasing,
distributed events, JavaSpaces). The book has complete coverage
of Jini, and is based on the Jini 1.1 release.
The book comes with a host of example Jini projects, with complete
source code. These include a Jini file service, a group chat
application, and more.
Click on the book's cover to jump to its page on
Frequently Asked Questions
For whom is Jini Example by Example written?
Jini Example by Example is written for Java developers
who are new to Jini and to distributed systems programming.
What's the difference between Jini Example by Example
and Core Jini?
Jini Example by Example provides a more "gentle"
introduction than Core Jini. Rather than being
structured around the various aspects of the technology,
it's structured around a series of example programs that
build on each other.
On a more specific note, Jini Example by Example has
more up-to-date coverage of Jini Community projects such as
ServiceUI and the Surrogate Architecture.
In terms of example code, Jini Example by Example has
a number of great, new examples, including a Jini chat
service, a Jini file service, and others.
What's the same between Jini Example by Example
and Core Jini?
Some of the early chapters in Jini Example by Example
are essentially the same (although simplified) from text
in Core Jini. For example, the text on how discovery
works is pretty much the same. The appendix on RMI is also
the same between both books. Why the same text? We thought
those passages worked well in the contexts of both books,
and didn't see the benefit of rewriting for rewriting's sake.
The rest of the book's text (read: the places where it matters)
is very different from Core Jini though.
What should I know before starting Jini Example by
The book assumes that you know Java, and that's about it.
The main text leads you through most of what you have to
know to use RMI (Remote Method Invocation) in the Jini
context, but isn't itself a tutorial on RMI.
Should I buy both books?
That depends on you, and what you want to get out of the books.
If you start with Jini Example by Example and want to
do more with Jini, you can "graduate" up to Core Jini.
On the other hand, there are also a number of reasons one might
want to buy Jini Example by Example after reading
Core Jini. For example, Jini Example by Example
has more up-to-date coverage of the ServiceUI framework and
the Surrogate architecture. Perhaps more importantly, there
are some significant new code examples in this book that
show some fairly nifty software-based services. If you think
you could benefit from any of the new material, or want to
explore the new examples, you might want to take a look
at Jini Example by Example.
NEW! This is the code bundle for
Jini Example by Example.
The version here requires Jini 1.1 to compile and run.
(Last updated August 18, 2001.)
Bug fixes and errata
Chapters 2 and 3
Inconsistent overloading of createCurrencyProxy
The definition of the first version of the currency converter
defined in class CurrencyConvertService (Listing 2.2, page 39)
declares a method called createCurrencyProxy. Although this
works perfectly well in Chapter 2, the amended services in
Chapter 3 (class CurrencyConvertServiceBackend in
Listing 3.6, page 88) assumes this is called createProxy
and overloads this method to create a different proxy for the
service. This code should overload the method createCurrencyProxy
instead, and should have a different version of createCurrencyProxy.
The updated code bundle above is correct.