Home > Eclipse > Book Review: “OSGi and Equinox Creating Highly Modular Java Systems”

Book Review: “OSGi and Equinox Creating Highly Modular Java Systems”

OSGi and Equinox Creating Highly Modular Java Systems
Jeff McAffer, Paul VanderLei, Simon Archer
Addison Wesley, 2010

Summary: This is a well executed and detailed explanation of how to develop modular Java systems and applications using OSGi and Equinox.  It uses the development of an easy to follow example application, called Toast, as the vehicle to explain OSGi theory and practice using Equninox.  One of the main themes of the book is the whys and hows of OSGi Declarative Services.  In general, it is a good book for OSGi beginners, but familiarity with Eclipse is a perquisite.  Advanced developers will find it to be a good resource and example of OSGi best practices.

I read the book in two passes, the first while I was on an extended business trip this Spring where it became my “on the road” late night reading.  The second pass was at my desk with my laptop and the book propped up on a book stand while I did the examples.  I like to read technical books this way as the first pass allows me to concentrate on understanding the material without being bogged down by the examples. It also gives me an overall view of the material that is quite useful when I do starting focusing on the example code.  The second pass is deliberately set at a slow pace so that I can type in the examples myself and linger over how they work, your mileage my vary.

I found that this book lent itself quite nicely to that style.  The writing was clear and well edited; you could tell that it had been through many revisions to get it to its current polished state.  The step-by-step instructions for the examples was at the right level for me, with enough detail to get things to work without being overly long. For instance, I find that I quickly get the concept of the example, but then I like to be given the details of what to name things and exactly what else to do, so that I can concentrate on the example and keep things moving along.

Another bonus that comes with the book is an Eclipse plug-in that can be installed from the web which includes the source code of all of the examples organized by chapter.  It manifests itself as a special view in Eclipse that lists all of the example code.  One can use this view to populate the workspace with the example code from any chapter, or, to compare the current workspace contents to the book’s example.  I found this last feature to be a great help as there were several times where things were not working and I was stuck for a solution.  By simply comparing my manually entered version of the example code with the chapter’s reference version, I quickly found the small differences that were causing problems and was quickly on my way.  This ability is the next best thing to having the authors look over your shoulder and tell you what you did wrong.

I did run into a few issues with the book.  There were several times where the steps provided to produce the example code were not complete.  These were minor things like a missing dependency specification or in one case a default value produced by a wizard that needed to be explicitly set to something else.  Mostly, these were no problem to correct.

I have a few suggestions for a second edition.  It would be nice to have a better explanation or “tour” of the Equinox bundles and their contents; the book currently glosses over their organization.  Another addition would be some positioning or contrast between Equinox and other OSGi implementations.  This wouldn’t need to be long or extremely detailed, but it would be nice to know a bit more about the trade-offs between various implementations and why Equinox is such a good choice.

Basically, I wasn’t disappointed, this is a good book that delivers on what it promises.

Categories: Eclipse Tags: , ,
  1. June 25th, 2010 at 18:03 | #1

    Great review and insight into the book. Was there any way for you to provide feedback to the author/publisher to where they could correct the minor errors in a future printing?

  2. June 25th, 2010 at 19:58 | #2

    Thanks for taking the time to write this review and I’m very pleased that you are finding the book useful. If you were inclined to put this review on Amazon I suspect others would find it useful.

  3. admin
    June 26th, 2010 at 08:50 | #3

    Yes, there is an errata for the book at http://equinoxosgi.org/ (not responding at the moment).

  4. June 28th, 2010 at 12:44 | #4

    Thanks a lot for the review. I additionally think that Toast should be upgraded to Java > 1.4.

  5. June 29th, 2010 at 08:04 | #5

    Excellent book, and great comments!

  1. No trackbacks yet.