When I first came across OSGI In Depth (was originally called Enterprise OSGi In Action during its Manning draft stages) I had to ask myself whether the same publishing house could justify another book on OSGi when they had already published OSGi In Action a year or so before.
Having now read both I have to say that there is a case for both, yes there is a degree of overlap – but that is necessary to set background. The In Depth book is very much geared up for architects and looks at the technology from a architecture and design consideration with some very honest insights and good practices. The In Action is better suited to developers that need to know about all the different interfaces. The two books are very complimentary, where to start obviously depends upon where you’re approaching OSGi from.
In Depth can at times feel feel a little be discouraging read, but upon reflection what you’re reading is actually very honest worts and all set of insights. Lets be honest how many J2EE books go into the challenges, and headaches of getting entity EJBs to be highly performant, not to mention the deployment challenges that could be faced with versioning of the underlying database if your selling production solutions that should be easy to upgrade.
When you get past this, there are some seriously valuable insights into possible dead ends that you could go down or catch you out later on if you don’t do that up front thinking about how you want to package, deploy and upgrade during the earlier phases of a development programme.
The book illustrates the way to address a number of these, and provides a number of design patterns. The book does miss a trick of providing these patterns as an appendix where they can be easily referred to for reference only.
Over all this is a valuable read, particularly you’re looking at OSGi from an architectural perspective (as I am). Rather than try and review each chapter I have developed a mind map to help show content of each part of the book (of course this means I have a memory jog if I need to come back to specific issues). The mind map of this can be found at http://www.mp3monster.org/new/techie/MindMaps/OSGi-In-Depth.shtml