Saturday, March 3, 2012

Book Review for "Do More with SOA Integration"

The first notable thing about this book is that it's big, nearly 700 pages. It is really a conglomeration of sections from several other books, so the scope of what is covered is wide. Like SOA itself, the book is not a cohesive whole that offers a shrink-wrapped solution to your problems. What this book does is offer concepts, considerations, and implementation advice for a variety of SOA needs.

The first few chapters are high level overviews. They provide a historical introduction to SOA, going back to the roots in EAI and before. Much of this will not be important for a contemporary architect or implementor, but it will help the reader to understand the past technologies used for Integration and how we got to where we are today.

The third chapter has some relevant material, and introduces some very important concepts. Among these are Transactions, OSGi,JCA, SCA and Process Modeling. These are all topics that are very much relevant to contemporary SOA, so the authors did well to include them. They also included some material that didn't quite pan out as well as it was envisioned (i.e. JBI), so it's a slightly mixed bag. Like with any book on a fast moving topic, you'll want to consult the contemporary workspace as you read the book, to understand which parts are going to be important to you.

Chapter 4 is about XML processing, and it has some really good content. (You can't touch SOA without getting XML all over you.) There are some expert recommendations on schema design, namespaces, message construction, etc. SOA architects should find some good ideas here.

The next chapter introduces BPEL, the standard way of hooking web service invocations together. As with the rest of the book, the material is presented using tools from the Oracle tool chest. Throughout the book, the reader should keep this in mind because users in Oracle shops will find some ideas directly applicable, where users of other technology stacks may have different mechanisms for accomplishing similar tasks. Fortunately, BPEL is fairly standard, so the terms we find in this chapter will be applicable to many users.

There are sections that are very much particular to certain products or vendor components. (For instance, there's a sizable piece on PeopleSoft CRM and Oracle Applications, integrated via BPEL.) This section can serve as a generic case study for users of other products, but some of the material is necessarily specific to the chosen products.

JBI and it's inner working are given good coverage in a couple of inside chapters. Once thought to be an emerging standard for ESBs, it now appears Integration products are growing in different directions, so these chapters may not be of interest to you depending on your chosen toolkit. Still, the material is well written and will be of use to some users.

Chapter 9 is about Web Services, a workhorse component of SOA. It includes a small catalog of "Runtime Patterns". I'm not quite sure what to think about the patterns yet-- we probably don't have enough well-agreed best practices documented in SOA, so this might be a step in the right direction. Some of it seemed a little too general to be useful for me, but perhaps in time I'll see better what was intended here.

Chapter 10 hits heavily on the Enterprise Service Bus (ESB). ESBs are solid winners in the marketplace, and have proven themselves to be an important component of SOA. This chapter is a big one, and the coverage is good. I found particular value in the sections on ESB operations, XSLT processing, distributed transactions, and WS-Standards.

Chapter 11 is about loosely coupling services and working to make services stateless. Some interesting ideas are presented, and implementation details about how to achieve the desired statelessness if you are using Oracle's tools.

Chapter 12 covers BPEL, as used with Oracle's suite.

The final chapters focus on 'legacy' integration, especially mainframe integration. The focus is especially sharp on IBM mainframes and the surrounding environment. If you are tasked with working in this space, there is material of value to you here.

So, what's the final verdict? I would recommend this book to:

- Anyone integrating with an IBM mainframe, using Oracle's tools
- Users of Oracle's SOA Suite
- General SOA readers who have a desire to round out basic knowledge. This book is not a good way to get off the ground, though.

The book can be found here.

Happy Integrating!

No comments: