The Leading Educational Resource for IT Professionals

Book Review: SOA for the Business Developer



If you want to know how SOA works in the real world, this is your book.

Written by Phil Law

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.

Also in Book Reviews

Book Review: Extract, Transform, and Load with SSIS


This book could easily be used as a teaching tool for students, interns, or even as a reliable resource for experienced SSIS developers to consult when they need an ETL refresher.

Continue Reading →

Book Review: 21st Century RPG: /Free, ILE, and MVC


Dave touches all the important buttons, and you’ll learn a lot with this book—even if you’re stuck in the 1980s RPG III world!

Continue Reading →

Book Review: Developing Business Applications for the Web--With HTML, CSS, JSP, PHP, ASP.NET, and JavaScript


The book breaks down the topic of business Web application development into three main sections. The first section covers static Web pages and the techniques used to develop these pages. The second section covers four popular programming languages in use today: JavaScript, PHP, ASP.NET, and JavaServer Pages (JSP). The third section covers topics that a Web developer needs to understand to develop successful Web applications.

Continue Reading →