Sunday, August 5, 2007

SOA Concepts, Technology and Design: Book Review Pt 2

I have enjoyed reading Service-Oriented Architecture: Concepts, Technology, and Design by Thomas Erl over the last couple of weeks. This posting is my main book review. I have also referenced the book in previous posts.

Erl takes top down approach to the writing of the book. He discusses management issues to start with and promises to deliver a lot more of the nuts and bolts of how to do SOA later on the book. It was a bit like pealing the layers of an onion away. I had some idea of what was to come but I had to be patient. This made me eagerly anticipate some of the detail that was later in the book. The middle chapters did not provide the detail and repeated some of the material in the earlier chapters. I found these middle chapters did not provide enough detail on the one hand and not enough new material on the other hand.

I prefer the style of book that presents code examples early on, usually to the complete bemusement of the reader and gradually unravels the mysteries of these examples as the book proceeds. Erl leaves the detail to last but he uses three ongoing examples with good effect throughout the book.

The genesis/history of SOA is not covered in any detail but there at least is some reference to SOAs precursors and a good summary of the standards organizations and what they are responsible for.

The scholarly tradition of referencing other books is missing. There some good references to other web-sites but not really much on other thought-leaders in this space. This is an introductory text so further reading opportunities would be valuable.

The approach in the book is logical and clearly mapped out by the reader. By the end, when it gets down to SOAP and WSDL examples the reader is asked to refer back to previous chapters to recall the motivation behind the syntax. This gets a bit difficult for the reader who is going through the book over a period of time.

Erl could have spent more time talking about the user interface and the persistent data. These are critical parts of any system and I was left wondering how these fitted into the service design.

Service-Oriented Architecture: Concepts, Technology, and Design by Thomas Erl is a long IT book (725 pages) it has about the same number of pages as "Harry Potter and the Deathly Hollows" (784 pages http://www.mugglenet.com/app/news/show/739 )? It does however have more pictures and diagrams than Harry Potter and also less violence and supernatural themes. If 725 pages is not enough pages for the reader, there are some material on a web site that supports this book (http://www.serviceoriented.ws/ and http://www.specifications.ws/ ) although I could not find all the material promised on these web sites. Like Harry Potter the ending is a bit of let down.

SOA is not an easy subject to write about. Erl has managed to pitch it at the right level for IT management, business analyst, architects and developers. This is book is probably not for the non-IT person though. Erl has managed to pick his way through the maze of standards and made it very clear that Web Services is the way to go and that there are a number of WS-* standards that are important for the organization.

This book focuses on the standards but rather than going through the specifications in detail we establish why the standards exist and give some simple examples of ways these standards are used. This is again provides a choice the writer. Erl has chosen to focus on the WSDL rather than vendor tools that may generate this WSDL. For instance we are given sample of WS-BPEL rather than shown a tool that generates the WS-BPEL from a business process diagram tool. This was a sensible choice given the dynamic nature of the industry in this area.

I read the book cover to cover but there are plenty of options suggested by Erl to skip bits that the reader is not interested in. Erl has a new book out (SOA: Principles of Service Design) according to Joe McKendrick it another good contribution to SOA http://www.soainaction.com/blog/2007/08/standardize_standardize_standa.php

This may well be the best book addressing this content. The presentation of the book looks excellent from the impression I got reading it on-line. The diagrams pictures and examples make a difficult subject easy to follow and Erl's writing is clear, precise and friendly. Above I make some quibbles about how the book is put together but in general I believe this is a book that is practical and will deliver value to people wanting to build software.

No comments: