|The publisher of SOA Approach to Integration, Packt Publishing, sent me a copy of the book and asked me to review it. You can read my review on Amazon; for completeness, I've also included the text of my review below. My ISSW coworker Andy Piper has also reviewed this book on his blog.|
I don't think the book is very good. I don't think it's awful, but I doubt that many readers are going to find it to be super helpful. The biggest problems that I see are that a lot of the information it contains is already documented elsewhere, and the way it's documented in this book doesn't seem particularly helpful to any specific audience (architects or developers). In my review, I describe the topics the book covers and my opinion of how well they're covered. If those topics seem interesting to you and other books on those topics seem inadequate, then maybe you'll find this one to be helpful.
My Amazon review:
This is a mediocre book that provides basic information but little of the insight that creates knowledge. As the title implies, it doesn't teach SOA in general, just how to approach application integration using SOA. Even in that, its treatment of the topic is reasonably accurate but superficial.
The book's six chapters are a reasonably logical overview of basic SOA and integration topics that finally culminates in the discussion promised by the book title.
Chapter 1 explains why integration is important, a topic that goes back at least as far as David Linthicum's Enterprise Application Integration. It lists numerous aspects of application integration without giving particular insight into any of them nor comparing them--a theme with this book's material.
Chapter 2 explains what SOA is. Its treatment of SOA is very superficial, little more than a technology that can be used for integration, and so should not be read as a thorough overview of why SOA is important. To understand SOA's importance, see Service Oriented Architecture For Dummies (yes, a Dummies book, but helpful!). One of the main advantages of SOA is its improved ability (as compared to other architectural approaches) to align IT and business, that is to make a company's applications and its business work in a more similar fashion. For a good discussion of business/IT alignment, see The New Language of Business: SOA & Web 2.0.
Chapter 3 is an XML primer, which seems pretty low-level for an architectural book. It explains a lot through XML and schema code examples, and even gets into an explaining and comparing SAX, DOM, and StAX. This chapter would better serve the book if it had focused more on the architectural decisions for XML and the implications of those decisions.
Chapter 4 is a primer on Web services and again gets fairly low-level for an architectural book. It explains the need to integrate heterogeneous systems, often connected via Internet technologies, and eventually discusses WSDL (but not SOAP!), WS-I profiles, and interoperability between Java EE and .NET. In between, however, it discusses patterns for integration by lifting material wholesale from IBM's Patterns for e-business and subsequent Redbooks on the topic. The diagrams in this book are straight out of the IBM materials, to the point of (what seems like) copyright violation.
Chapter 5 focuses on BPEL and what the book calls "process-oriented architecture." This is an interesting turn, since business process is not so much integration using services as it is a useful abstraction for implementing services--especially long-running ones--using other services. So whether this is integration of business functionality or composability of business functionality is debatable. In any event, the book then dives deep on BPEL features and code examples. Other books on BPEL may be more helpful.
Chapter 6, the last chapter, finally gets to the book's topic, application integration using SOA, POA, and Web services. Here, the book finally starts to explore the enterprise service bus (ESB), although for some reason considers the ESB to be not just a means for connecting to service providers, but a hosting environment for service providers as well! A lot of the material here is a rehash of Enterprise Integration Patterns; although this book's authors don't seem to have read that book, they discuss a lot of the same topics in terms of implementing Web services. Curiously, one section covers Java Business Integration (JBI), which only applies to Java, and yet the book never discusses a similar and more interoperable programming model, service component architecture (SCA).
In conclusion, what material this book covers, other books cover better. The advantage of this book is providing brief overviews of the material and tying it together better than separate books can. Yet this book's coverage of these topics is too low-level for architects, too brief for developers, and too superficial to teach the topics to readers who don't already know them. Other books on SOA and on application integration are better.
Disclaimer/qualifications: I am a coauthor of Enterprise Integration Patterns and work for IBM. The publisher (Packt) sent me a copy of this book and asked me to review it.