Book Review: Service Oriented Architecture

14. October 2006 21:03

I missed the September issue of my monthly book review.  Since it was due to the craziness around the birth of my first son, I will cut myself some slack.  Anyway, I was in the process of reading Service Oriented Architecture: A Planning and Implementation Guide for Business and Technology by Eric A. Marks and Michael Bell.  Before I get into the book, I must make a confession about my take on SOA.

Over the past few months, I have been trying to get a better understanding of what SOA is really all about by separating fact from fiction.  As embarrassing as it may be, I must admit that I originally felt mesmerized by the bright, flashy, neon signs created from all the religious rants by "experts" and marketing hype full of false promises that are rampant across the entire industry.  If you're not careful, it is pretty easy to get caught in a trance going "ooo...S..O..A". 

After a lot of thought on the matter, I now find myself beginning to share the opinions of people such as Rich Turner and Clemens Vasters.  They have more eloquently described their position on the subject than I could.  So, you should refer to their blogs for a thorough explanation, but the general idea is that SOA is a misnomer. 

Personally, I am a big believer when it comes to service orientation (SO).  However, SO is merely an abstract set of principles used to provide guidance for best practices in building distributed systems.  When you attempt to create a software architecture around these tenets, it will inevitably be incomplete because they do not address all issues of a software architecture such as data analysis, data mining, data visualization, etc.

At any rate, enough of my ramblings about SO(A).  This post is supposed to be a book review.  However, due to my stance, it probably isn't the most useful review I have ever written.

First of all, this isn't your typical technical book.  The title should tell you that much.  It attempts to explain the role of technology and the role of the business within the context of SOA.  Consequently, the book is mostly conceptual.  There are no code samples and you won't find it referring to any specific technology.  However, this shouldn't be perceived as a bad thing.  SO(A) is supposed to be technologically agnostic.

Depending upon your expectations, you may find some very dry reading.  It attempts to address a pretty wide audience.  The first section is targeted specifically at explaining the business value for SO(A).  The second section is focused upon the concepts involved with analyzing and designing services.  The last section is all about governance, policies, metrics, and return of investment (ROI). 

If you are looking for a book on SO(A) that covers all of these topics, it is probably the best you will currently find.  However, if you are looking for more information about a particular facet of SO(A) or want to read about its implementation on a specific platform, you should probably look for another resource.

To the credit of the authors, I think they have gone a long way in providing some clarity around a topic that has been littered with hype and confusion.  It covers a lot of ground in some of the "dark corners" of SOA such as governance, policies, and metrics.  Overall, it does a good job explaining an enterprise level approach to service orientation that may work well for some companies.  At the very least, it contains a lot of conceptual level information that is useful in the domain of service orientation and distributed systems.

On a scale of one to five, I would rate this book as a four.

The next book review will be Pro .NET 2.0 Extreme Programming.

Comments are closed

About Me

I'm a passionate software developer and advocate of the Microsoft .NET platform.  In my opinion, software development is a craft that necessitates a conscious effort to continually improve your skills rather than falling into the trap of complacency.  I was also awarded as a Microsoft MVP in Connected Systems in 2008, 2009, and 2010.


Can’t code withoutThe best C# & VB.NET refactoring plugin for Visual Studio
Follow jeff_barnes on Twitter

View Jeff Barnes's profile on LinkedIn

 

Shared Items

Disclaimer

Anything you read or see on this site is solely based on my own thoughts.  The material on this site does not necessarily reflect the views of my employer or anyone else.  In other words, I don't speak for anyone other than myself.  So, don't assume I am the official spokesperson for anyone.