Why SOA?

As the product manager of Shadowfax I am often asked about how Shadowfax relates to service oriented architecture (SOA). I have had many lengthy discussions with others here at Microsoft as we consider how best to help our customers with this new architectural style.

I am convinced that SOA is an architectural style, not a product. You can't go down to the store and buy SOA. You can however build a system according to the principles of SOA. Most people recognize that building a system to SOA principles is in the short run more difficult, costly and time consuming. Especially the first one. Likewise, many people also recognize that this is one of the many cases in life where investing in something difficult up front pays big dividends later. I just spent 90 minutes with my trainer at the gym and worked very hard doing a number of things that have no direct relationship to helping me to get my work done, but I recognize that over time, this is a worthwhile investment in my physical body which will really pay off in the future...no pain, no gain right?

Given that it is more difficult, costly and time consuming, why would people then choose to build a system according to SOA principles? I have spoken with a number of very large organizations and the reasons I hear are usually something like this.

  • We have 1500 applications, 400 frameworks running on 10 different platforms and the TCO is killing us
  • Our application has business logic that would be useful to other divisions within the company but because it was built as a tightly coupled silo, nobody else can access this functionality.
  • We want to build our systems to be highly adaptable, to build with the future in mind

Almost every large organization I have spoken to in the last year is making some move toward SOA and the bottom line for most of them is cost savings. They believe that by making this investment up-front, in the long term they will reap benefits of increased reuse, increased managability and lower costs.

What about you? What is your experience? Have you taken the SOA plunge yet? Do you believe that we will realize these benefits as an industry?