Category Archives: Agile & Architecture

Agile Development & Software Architecture

Review: Next Generation SOA

A Concise Introduction to Service Technology & Service-Orientation, By Thomas Erl and others

Dry, terse text which misses its mark

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, and may be too terse for those with less technical understanding.

The authors and editors have clearly set themselves the admirable aim of producing a short and concise overview of the field. Unfortunately in the quest for brevity they have ended up with a terse, dry and dense writing style which is very difficult to read. At times it feels almost like a game of "buzzword bingo". I frequently had to re-read sentences several times to understand the authors’ intended relationships between the elements, and I’m a very experienced integration architect.

At the same time, for a book on architecture there are very few explanatory diagrams, wordy descriptions being used instead. To add insult to injury a few low-value diagrams such as one depicting the cycle of interaction between business and IT change drivers are used repeatedly, when once would be enough.

The first chapter provide a overview of service orientation and its key principles, characteristics, goals and organisational implications.  This is followed by a chapter on service definition and composition. Ironically this part of the book is is quite repetitive, but manages to omit some key concepts. There’s no real concrete explanation of what a service is or does – maybe that’s taken as read, but a formal definition and some examples would go a long way. Likewise there’s nothing at this point on basic concepts such as service contracts and self-description, synchronous vs asynchronous operation or security. The second chapter goes into some detail on the idea of service composition but only really deals with the ideal green-field case where functionality can be developed new aligned exactly to business functions.

The following chapter on the SOA manifesto is better, but again doesn’t recognise the realities of real enterprise portfolios, with legacy systems, package solutions and external elements which must be maintained and exploited, and non-functional priorities which must be met.

Chapter 5 deals with service-related technologies and their potential interactions. This is good, and for me represented the core value of the book, but is crying out for some diagrams to supplement the lengthy text. There are good notes on service definition under Model Driven Service Design, but this key topic should really have been a major section in Chapter 3 in its own right. The statements about technical architecture are rather simplistic, with an overall position of "this is expensive and difficult, or just use the cloud" which is not necessarily right for all organisations.

The next chapter, on business models, is very prescriptive. It is also slightly misleading in some places about the role of IT in transactional services – such services are delivered by a business unit, possibly but not necessarily enabled by and carried through an IT service. It would be perfectly viable in some cases for specific services to have a manual implementation. This is well explained in the case study, but not here or in the Business Process Management section of the previous chapter.

The final chapter of the main text is a "case study" describing the wholesale transformation of a car rental company through adoption of service, agile and cloud approaches. It feels slightly contrived, especially in terms of its timeline, the preponderance of successes, and the surprising lack of resistance to CIO-led business change. However it fills a useful gap by explaining much better than the technologies chapter how the different technologies and approaches fit together and build on one another.

Appendix A is a taster for the other books in the series. Unfortunately the content is presented as small images which cannot be resized and are almost unreadable in the Kindle version. It has also been "summarized", with the result that it appears to add very little meaningful detail to what has already been said.

Appendix B is a useful expansion of the main text regarding organisational preparation, maturity levels and governance for SOA. I would personally have been tempted to merge the first two parts to the main text rather than positioning them as an appendix, where they are necessarily repetitive of some material which has already been read.

Appendix C is another taster for one of the other books in the series, this time with an overview of cloud computing. While this is at a fairly high level, it’s a useful and well-written overview for those unfamiliar with the concepts.

Overall this is a frustrating book. There is some good material, but missing key "reality checks" and presented in a terse, text-heavy style which makes it harder to read than it should be.

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

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

Enterprise Architecture Conference

Halfway through, and this is shaping up to be the best EAC I have attended for a while. I was umming and aahing about whether to attend yesterday’s seminar sessions, and couldn’t make up my mind which to join. In Continue reading

Thursday, June 9, 2011 in Agile & Architecture, Thoughts on the World