I had a lot of plane and bus time on my hands while travelling in India and decided to read SOA: Principles of Service Design during my travels.
A while back I reviewed a book title SOA – Field Guide to Integrating XML and Web services, which came in a whopping 540 pages. This new book comes in a back-breaking 608 pages. So much for travelling light.
Disclosure – I was asked by Thomas Erl to review this book for technical consistency before publication.
I was hoping that this new book would address some of my concerns about the previous book where I wanted to see some more concrete recommendations and best practices.
Thankfully this book does not go into detail with regards to the ever-expanding and exhaustive list of XML and Web Services standards that I continually encounter in other SOA book.
One of the challenges of creating a book like this is to use a language and terminology that readers will understand and agree with. Some of the terms take a little getting use to and sometimes conflict with my understanding. As a member of the OpenGroup, I look forward to see what the SOA Ontology project produces to address this need. Sadly I am not expecting a SOA Esperanto.
Anyway, this book does cover the fundamental, and design principles of services from service contracts all the way to service composability. Each of these design principles are covered in depth – sometimes too much. One of the easiest mistakes is to indulge in over-explanation. Few things will turn readers off quicker than pages and pages of details that kill pace and aren’t interesting, relevant, or feel duplicative. This is a shame as there is some really good material in this book.
As an experienced architect less is more, and I prefer white-boarding for explanations rather than a 600+ page book. Saying that, I understand that there is a need for novice architects to understand the concepts, principles, foundations, and nuances of service design.
This book is well structured (albeit large) and comes with consistent and elegant icons and expressive diagrams, but should be read in bite size chunks. (Nan bread in my case).
Proper Service design should not be underestimated, and should be done within the context of business capability maps and technology requirements. Too many times I see developers use powerful IDE’s and “Right-Click” confirm, to produce a service from a Java component. I call this Right-Click architecture and not SOA as no “real” thought was given to the design of the service.
So, don’t confuse with reading a book regarding the “Principles” of Service Design as being ready to architect, design, deploy, manage, and monitor. But I do recommend this book to practitioners who wants to fully understand all of the “technical” areas that should be considered when performing service design.
This was the quote that I finally submitted to the publisher.
“I recommend this book to any SOA practitioner who wishes to empower themselves in making service design real…gives readers the 360º view into service design [and] gives SOA practitioners the depth and understanding needed into the principles of SOA to assist in the design of a mature and successful SOA program.”
–Stephen G. Bennett, Americas SOA Practice Lead, BEA Systems