SOA is not about technology

Wednesday, August 8, 2007

I’ve been involved in recent discussions on the divide between architecture
and technology.  I think many developers often confuse an
implementation technology with architecture.  I believe there is an
important distinction between the two.  This is often exemplified in
some people’s definition of SOA as “web services”. 
Apparently, if you can code a web service, you are officially a service
oriented architecture guru.  I was reading an e-book I found on MSDN’s
Architecture site and thought it provided a good metaphor depicting how
important it is to have an architecture blueprint and know the
difference between architecture vs. technology.  At the risk of
duplicated content on the web, here it is and the book can be
downloaded here:

“The
Winchester Mystery House is an intriguing tourist attraction in the USA
near San Jose, CA. The Winchester Mystery House was the home to the
heiress of the Winchester fortune (amassed from the sales of Winchester
rifles). According to the legend, the heiress went to see a fortune
teller and learned she was cursed to be haunted by the spirits of
everyone ever killed by a Winchester rifle. The only way to avoid the
curse was to build a mansion – as long as she kept building the spirits
would leave her alone. She promptly hired 147 builders (and 0
architects), all of whom began working on the mansion simultaneously.
The builders worked on the mansion until the heiress passed away, 38
years later. The result of their efforts is a classic example of
implementation without architecture:

  • The mansion contains 160 rooms, 40 bedrooms, 6 kitchens, 2 basements and 950 doors
  • Of
    there 950 doors, 65 of them open to blank walls, 13 staircases were
    built and abandoned and 24 skylights were installed into various
    floors.
  • No architectural blueprint for the mansion was ever created.

Confusing
architecture with implementation generates chaotic and unpredictable
results – much like the Winchester Mystery House. Articles that try to
explain SOA and jump into a tutorial for building Web Services are
providing guidance for coding, not architecture. This is one of the
many reasons that SOA is so misunderstood today – the rush to promote
loosely coupled architectures focuses on the trees instead of the
forest.

Leave a Reply