Category Archives: Agile & Architecture
Review: Service Design Patterns
Fundamental Design Solutions for SOAP/ WSDL and RESTful Web Services, By Robert Daigneau
Good book, but some practical annoyances
One of the most influential architecture books of the early 00s was Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf. That book not only provided far and away the best set of patterns and supporting explanations for designers of message-based integration, but it also introduced the concept of a visual pattern language allowing an architecture (or other patterns) to be described as assemblies of existing patterns. While this concept had been in existence for some time, I’m not aware of any other patterns book which realises it so well or consistently. The EIP book became very much my Bible for integration design, but technology has moved on an service-based integration is now the dominant paradigm, and in need of a similar reference work.
The Service Design Patterns is in the same series as the EIP book (and the closely related Patterns of Enterprise Application Architecture), and overtly takes the earlier books as a baseline to build an additional set of patterns more directly related to Service-oriented integration. Where the earlier books’ content is relevant, it is just referred to. This helps to build a strong library of patterns, but also actively reinforces the important message that designers of newer integration architectures will do well to heed the lessons of previous generations.
The pattern structure is very similar to the one used in the EIP book, which is helpful. The "Headline" context description is occasionally a bit cryptic, but is usually followed by a very comprehensive section which describes the problem in sufficient detail, with an explanation of why and when alternative approaches may or may not work, and the role of other patterns in the solution. The text can be a little repetitive, especially as the authors try to deliver the specifics of each pattern explicitly for each of three key web service styles, but it’s well written and easily readable.
This is not a very graphical book. Each pattern usually has one or two explanatory diagrams, but they vary in style and usefulness. I was rather sad that the book didn’t try to extend the original EIP concept and try to show the more complex patterns as assemblies of icons representing the simpler ones. I think there may be value in exploring this in later work.
One complaint is the difficulty of navigating within the Kindle edition, or in future using it as a reference work. Internal references to patterns are identified by their page number in the physical book, which is of precisely zero use in the Kindle context. In addition the contents structure which is directly accessible via the Kindle menu only goes to chapter level, not to individual patterns. If you can remember which chapter a pattern is in you can get there via the contents section of index, but this is much more difficult than it should be. In other pattern books any internal references in the Kindle edition are hyperlinked, and I don’t understand why this has not been done here.
To add a further annoyance, the only summary listings of the patterns are presented as multiple small bitmapped graphics, so not easily searchable or extractable for external reference. An early hyperlinked text listing with a summary would be much more useful. Please could the publishers have a look at the Kindle versions of recent pattern books from Microsoft Press to see how this should be done?
A final moan is that the book is quite expensive! I want to get all three books in the series in Kindle format (as well as having the hardcover versions of the two earlier books, purchased before ebooks were a practical reality), and it will cost over £70. This may put less pecunious readers off, especially as there’s so much front matter that the Kindle sample ends before you get to the first real pattern. That would be a shame, as the industry needs less experienced designers to read and absorb these messages.
These practical niggles aside, this is a very good book, and I can recommend it.
Next Generation SOA
This book sets out to provide a concise overview of the current state of, and best practices for, Service Oriented Architecture. While it may achieve that for some managerial readers, it is simultaneously too general for those with more background, Continue reading
Efficient Fuzzy Matching at Word Level
I’ve just solved a tricky problem with what I think is quite an elegant solution, and thought it would be interesting to share it. I’m building a system in which I have to process fault data. Sometimes this comes with Continue reading
Caught by The Law!
Don’t get too excited. Those of you hoping to see me carted off in manacles and an orange jumpsuit will be sadly disappointed… No, the law to which I refer is Moore’s Law, which states effectively, if you need reminding, Continue reading
Webkit, KitKat and Deadlocks!
I don’t know what provision Dante Alighieri made, but I’m hoping there’s a special corner of Hell reserved for paedophiles, mass murderers and so-called engineers from big software companies who think there might ever be a justification for breaking backwards Continue reading
My First Android App: Stash-It!
After a couple of months of busy early morning and late night programming, my first Android app has finally been released. Please meet Stash-It! Stash-It! responds to an odd side-effect of the difference between the iOS and Android security models. Continue reading
What Do I Mean by "Agile Architecture"?
A little while back I was approached by EITA Global, a global provider of on-line training, and we have now agreed that I should present for them a webinar entitled "Agile Architects, and Agile Architecture". The current plan is for Continue reading
Break Compatibility, Lose Loyalty
For almost 20 years I have been a fan of, and borderline apologist for, Microsoft. One of the main reasons was their focus on software usability, backed up by a visible intention to preserve backwards compatibility wherever possible. While each Continue reading
Tyranny of the Colour Blind

Musings on why Microsoft are abandoning colour as a dimension for information visualisation Continue reading
Ten Ways to Make Your iPad Work Effectively With Windows
If you’re one of those people who uses loads of Apple products, and is thinking of proposing Steve Jobs for canonisation, then you may be happy with how your iPad works, but if you’re trying to make it work effectively Continue reading
Enterprise Architecture Conference 2011 Day 3
Well the third day of EAC 2011 came and went. My talk went well. Despite the last minute scheduling change I got a decent audience, and once in front of real listeners managed to find my style and pace again. Continue reading
No Plan B
Thoughts on the inadequacy of contingency planning on the British transport networks Continue reading