Category Archives: Agile & Architecture

Agile Development & Software 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.

Categories: Agile & Architecture and Reviews. Content Types: Book, Computing, and Software Architecture.
Posted in Agile & Architecture, Reviews | Leave a comment

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

Thursday, May 28, 2015 in Agile & Architecture, Reviews

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

Friday, January 16, 2015 in Agile & Architecture, Code & Development

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

Friday, July 18, 2014 in Agile & Architecture, Code & Development, PCs/Laptops, Thoughts on the World

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

Tuesday, June 17, 2014 in Agile & Architecture, Android, Code & Development, Thoughts on the World

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

Thursday, April 10, 2014 in Agile & Architecture, Android, Apps, Code & Development, My Publications, Thoughts on the World

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

Tuesday, March 4, 2014 in Agile & Architecture, Thoughts on the World

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

Monday, May 7, 2012 in Agile & Architecture, Thoughts on the World, VMWare

Tyranny of the Colour Blind

Musings on why Microsoft are abandoning colour as a dimension for information visualisation Continue reading

Tuesday, February 28, 2012 in Agile & Architecture, Thoughts on the World

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

Saturday, December 3, 2011 in Agile & Architecture, iPad, Thoughts on the World

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

Friday, June 10, 2011 in Agile & Architecture, iPad, Thoughts on the World

No Plan B

Thoughts on the inadequacy of contingency planning on the British transport networks Continue reading