Top positive review
6 people found this helpful
Is this War and Peace for Software Architects?
on 27 June 2006
Service Orientation claims to be the solution to the problem of delivering large complex software systems that enhance organizational agility, that integrate .NET and Java systems, and systems from different vendors while maximising re-use. It's a big topic and this is a huge book running to over 750 pages. So, unless you're in the habit of reading War and Peace, this is probably the largest book that you're likely to be caught reading on the train. Its size is partly a consequence of the size of the topic but it's also a result of the breadth and thoroughness of the book, which covers both the theory and practice of SOA. The "theory" includes the historical context of SOA, the problems SOA attempts to address, the current and future standards, the tenets of service orientation and the common misconceptions about Web Services and SOA. The "practice" includes the design strategies for SOA and the technology platforms that support the standards. The book will be of most practical use to senior development managers, architects and business analysts having to make technology choices about system architecture and system integration.
In my experience most of the other books on SOA and ESB are of little practical use as they either cover only the early implementations of XML Web Services (JAX-RPC) or focus too much on a single vendor's proprietary solutions and are of limited usefulness as a guide to building real-world systems (assuming one of your objectives is platform independence).
Unlike other books on the subject this book is focussed on the delivery of SOA using vendor-independent and standards-oriented solutions. It covers both the already well-established request-response web services, (so-called first-generation web services technologies), and the more recent web services standards that implement more advanced "message exchange patterns" (such as send-and-forget and publish-subscribe) and more demanding scenarios such as reliable delivery, transactions and secure transmission, functionality that has previously only been provided by platform-specific and proprietary solutions such as JMS and TIBCO.
Unfortunately the chapter on platform support for the standards, which covers the .NET and J2EE platforms, is too brief to be of any real value. Plus the differences between different J2EE vendors' implementation of the standards aren't mentioned at all. So if you're involved in vendor selection the book will help you work out the right questions to ask but won't help you much with the answers. This perhaps reveals the author's background as a consultant who has been directly involved in the definition of the web services standards. This is the both the book's main strength and at the same time a weakness. Nonetheless it's well worth the (large amount of) time it takes to plough through the myriad of examples.