Sunday, September 05, 2004

Book Review: IT Architectures and Middleware

IT Architectures and Middleware Second Edition
Chris Britton & Peter Bye, Addison Wesley 2004.

I have been reading a lot of books about architecture recently, so when I spotted this one at my local Borders, I bought it without looking too closely at it. If I had paid more attention then I would have noticed that even its title hints that it isn't a standard book about n-tier architecture and/or UML modelling. First, the book is about IT architecture not software architecture, and second middleware is a major driver for the book.

In fact I have to say this is one of the most refreshing books I have read recently. It has the subtitle "Strategies for Building Large, Integrated Systems"; though this is undoubtedly true, I would be more inclined to call it "Everything you wanted to know about architecture but daren't ask"! Certainly for me it filled in some gaps in my knowledge and in general drew together a number of topics that aren't always treated in architecture books, and gave them a nice coherent thread.

The approach the book takes is that making decisions about middleware are critical to an IT architecture, and the choice of middleware really drives the architecture. Practical issues that arise when creating an architecture are described at a level of detail which highlights the critical issues without getting bogged down in technology solutions. The policy throughout the book is to be vendor neutral; that's not to say that particular technologies are not discussed such as J2EE and .Net, but there is no rabid claim of unconditional superiority for any specific technology. That said, there are a number of examples (more of these below) that reflect that the authors have extensive experience with Unisys.
Avoiding specific technologies also means that the reader doesn't have to wade through pages of listings! On the other hand, the authors' experience is very useful when highlighting potential gotchas throughout the text.

On the negative side, the book is very concise (337 pages including index). Though I welcome a change from the standard 600+ page treatise, there is a fine line between being concise and being dry. I found towards the end that it was harder and harder to take in all of the information in the text, and I suspect that I will have to reread it to pick up the things I missed first time round. I was therefore surprised that there are a number of examples described in the final chapter of all places. I would much rather have seen these examples (and many more examples for that matter) earlier on, driving and motivating the material. This would inevitably have increased the length of the book, but I think it would have made it much kinder to the reader. As it is, I think any reader of the book needs to have some background in architecture; there is too much for a total novice to take in.

All that said, I would thoroughly recommend this book for anyone creating IT architectures who wants a solid, vendor neutral overview of the different issues that need to be considered. I have just started reading Beyond Software Architecture by Luke Hohmann which in its own way also provides an alternative take on software architecture. More of that later.

No comments: