If you want to know how SOA works in the real world, this is your book.
There's a lot of hype and fanfare surrounding service-oriented architecture (SOA), but the authors of SOA for the Business Developer have obviously gotten their hands dirty participating in real-world SOA projects. The content of their book reflects that experience.
They begin by pointing out the simple truth that "SOA includes ideas that have been around for decades." Comparing and contrasting new concepts with old, familiar software design principles quickly brings the reader up to speed with the overarching principles of SOA.
My favorite chapter in the book was the fictional "Highlight Insurance" case study. SOA projects usually cross organizational boundaries. Because of this, you'll probably encounter problems that you might not encounter on more traditional software projects— differing terminology, inconsistent data definitions, different business processes, and multiple managers from different chains of command. The authors' treatment of these issues resonated strongly with my personal experiences!
This book is written to appeal to a wide audience. The chapters covering XML, BPEL, and SCA provide enough technical detail to do justice to these topics but not so much that a business analyst or non-technical manager would be totally lost. Developers might miss the working code samples and labs that go along with a purely technical book, but what the book lacks in technical depth, it makes up in its breadth.
XML is correctly identified as the core of SOA. A significant portion of the book is devoted to discussing XML, XSD, XSLT, and XPATH. After outlining some of the basics of these technologies, the reader is shown how they are used in an SOA—not just to send data across the wire, but to configure the services themselves and the logic that ties them together.
A common misconception is the notion that the "service" part of a service-oriented architecture means "Web services." The authors avoid this pitfall and give a solid working definition of what a service really is in the context of an SOA. This definition is followed with a good explanation of why Web services will be the most common incarnation of a SOA service. A sufficiently in-depth treatment of WSDL, SOAP, and UDDI is included.
Readers would be wise to slow down a bit when they hit the BPEL chapters. There's a ton of information packed into this section of the book, and rightly so since the real work of SOA is all about knitting services together into a functional business process or workflow. Topics such as looping, branching, concurrency, fault handling, abstraction of BPEL from its partner Web services, and maintaining state are all covered.
Finally, the authors look forward by introducing service-component architecture. SCA is "a proposed standard for composing and deploying service-oriented applications." This standard promises to allow the developer to focus on business logic by hiding some of the technical details that currently bog down the process of developing service-oriented applications.
The ultimate goal of SOA is to promote business agility through the re-use of logic across the network. This book fits nicely into that paradigm as it should see a fair amount of re-use after being incorporated into your library.