Electronic Review of Computer Books

[ ERCB Home | New | Feature | Brief | DDJ | Letters | Links ]

[an error occurred while processing this directive]

Vital Statistics

Title Programming Mobile Objects with Java
Author Jeff Nelson
Publisher John Wiley & Sons
http://www.wiley.com/compbooks/
Copyright 1999
ISBN 0-471-25406-1
Pages 416
Price $49.99


Objects that Go Bump in the Night

In Programming Mobile Objects with Java, Jeff Nelson defines mobile objects as "objects that move between two or more applications...[b]oth the state and the code of the object move..." As Nelson points out, the latter aspect of mobile objects, code movement, is not the specialty of CORBA itself, which binds to various run-time language environments. The theme here is use of Java-enabled ORBs and Java class loaders to provide object state and code mobility.

Nelson surely has given mobile objects, thus defined, a lot of thought and practice. You are shown the parameters of the problem of creating mobile objects on top of minimal support in the distributed-object arena for code transport. Several plausible solution paths are outlined, with the strengths and weaknesses of each theoretically probed. Occasionally, the author's weakness is probed, usually in inverse proportion to the distance he keeps from network theory.

Praxis is, however, the thing with the swing as we rush to erect structurally sound software castles upon the rapidly shifting sands of theory and the market. Nelson's clearly got the praxis part down: He remembers what he did and can jumpstart you in what is currently a sparsely populated niche technology with much promise for the future. The work excels as he experiments with providing the missing elements to render extant ORBs and object frameworks (Caffeine, DCOM, Voyager and RMI) fully functional mobile-object busses.

Programming Mobile Objects with Java goes beyond implementation details. Several chapters are devoted to interesting application ideas using mobile objects, such as groupware and a dynamically upgradable text editor. Deployment issues such as clustering and security get their own somewhat perfunctory chapters that would not obtrude upon the generally solid presentation in their superficiality if supported by an adequate bibliography, the latter sorely lacking in this bleeding-edge rush-to-print opus.

The second half of the book returns to curiosities of a theoretical nature, and here Nelson is in his element again. It's time for the deep inside stuff to delight the object theorist and language designer while baffling the application writer. Many interesting pages are filled with design patterns, interpreters, predicates, composable views, and so forth.

Overall, this book is sound but a little overweight. There's confusion in the profusion, especially in the latter half of the book, and a subtle lack of coherence, organization, and occasionally a lack of relevance. A rapid tour book is okay if the goal is to hit all the salient points, but here it's as if the author wanted to show us breathlessly all that he has seen. Or perhaps the publisher pays by the pound. In any case, Programming Mobile Objects with Java could have been both written and printed in a more economical fashion with a resultant enhancement to the value of the tome.

The substance of the previous criticism does not detract from the pleasure of this obviously talented coder's sharing with us his practical experience, and it is when he is doing this that he does the best in this book.

The CD-ROM contains examples from the book: JDK 1.1.7 for Win32; BDK 1.0; trial versions of the VisiBroker and Voyager ORBs; trial versions of an editor, a UML whiteboarder for Windows, and of JBuilder2. Some of the examples contain ActiveX code. Although UNIX is acknowledged in the text, the CD-ROM is very Windows oriented, most of the content being either inherently Windows-only or packaged in such a way as to require special handling on a non-Windows platform. Simply rendering the CD-ROM browser-navigable on Linux required an unplanned device remount adding the iso9660 options "norock,check=relaxed" due to use of mixed cases used in document links. This serves to accentuate the presentation's Windows myopia.

-- Jack Woehr


Quick Rating

Readability Star Star Star
Originality Star Star Star
Organization Star Star HalfStar
Accuracy Star Star Star
Consistency Star Star HalfStar
Depth Star Star HalfStar
Timeliness Star Star Star
Editing Star Star HalfStar
Design Star Star HalfStar
Overall Value Star Star HalfStar

Explanation of ERCB rating scale: No stars = unacceptable, 1 Star = marginal, 2 Stars = average, 3 Stars = above average, 4 Stars = exceptional.


Copyright © 1999 Electronic Review of Computer Books
Created 6/19/1999 / Last modified 6/19/1999 / webmaster@ercb.com