What is SOA?

by Chris Abraham on 13/08/2007

PinExt What is SOA?

We new marketing wonks need to get nerdier. I am pretty geeky and spend most of my times doing web 2.0 and technology consulting to Fortune 500 companies, so I really come from someplace outside the School of Communications. Here’s an important new term, if you’re not yet familiar:

“SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners.” Via Web Services at XML.COM and Marketing Conversation


Here’s some more great info from Web Services at XML.COM

‘This sounds a bit too abstract, but SOA is actually everywhere. Let’s look at an example of SOA which is likely to be found in your living room. Take a CD for instance. If you want to play it, you put your CD into a CD player and the player plays it for you. The CD player offers a CD playing service. Which is nice because you can replace one CD player with another. You can play the same CD on a portable player or on your expensive stereo. They both offer the same CD playing service, but the quality of service is different.

The idea of SOA departs significantly from that of object oriented programming, which strongly suggests that you should bind data and its processing together. So, in object oriented programming style, every CD would come with its own player and they are not supposed to be separated. This sounds odd, but it’s the way we have built many software systems.

The results of a service are usually the change of state for the consumer but can also be a change of state for the provider or for both. After listening to the music played by your CD player, your mood has changed, say, from “depressed” to “happy”. If you want an example that involves the change of states for both, dining out in a restaurant is a good one.

The reason that we want someone else to do the work for us is that they are experts. Consuming a service is usually cheaper and more effective than doing the work ourselves. Most of us are smart enough to realize that we are not smart enough to be expert in everything. The same rule applies to building software systems. We call it “separation of concerns”, and it is regarded as a principle of software engineering.’

PinExt What is SOA?
Be Sociable, Share!
  • more What is SOA?

Share on Tumblr

{ 2 comments… read them below or add one }

David Cooper August 14, 2007 at 11:56

That is a great guote for SOA Chris. When I first got the notification, my reaction was not another %*!@ definition of SOA, which is really an idea that has been around for a long time, but it seems consultants and marketers (I don’t know which to blame) are always coming up with new terms to make what we have been doing for ages sound new and exciting. It is like product companies coming up with a new packaging for your gum, milk, luandry detergent or insert-any-consumer-good-here and actually advertising “New Look”. I think SalesForce.com is a great example of an SOA company (and maybe ITSportsNet, but i’m biased).

Reply

Chris Abraham August 14, 2007 at 23:16

Truth be told, when most people buy an SOA solution, what many of them need is a very simple RSS Enablement solution. Most SOA and RSS Enablement solutions are too much too much!

Reply

Leave a Comment

Previous post:

Next post: