“SOA is either on a roll or stalled due to a combination of technology and political problems, depending on what you read.”
That’s the kind of confusing, mixed message I hear regularly. But it reminded me of a great article by Andrew McAfee of The Harvard Business School on Enterprise 2.0 versus SOA, that I saw from last month. I’ve heard people talk in various inconsistent and disparaging terms on SOA, and I’d been confused about what the topic means in any case. Andrew’s article refers to some sensible definitions of SOA as follows: From xml.com: 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.
From whatis.com: SOA defines how two computing entities, such as programs, interact in such a way as to enable one entity to perform a unit of work on behalf of another entity. Service interactions are defined using a description language. Each interaction is self-contained and loosely coupled, so that each interaction is independent of any other interaction.
He then discusses Enterprise 2.0, which he’s written about a lot ,and he defines as:
“The use of freeform social software within companies.”
He argues that the wiki concept has been around for over 10 years, and that we could have developed wikis and blogs in old style programming technology even earlier. It is a combination of the advanced programming tools available now, with the improved user experience, combined with the economics of the technology landscape that have led to the current explosion in useful Web 2.0 products. They’re great for collaboration, and the technologists and closet geeks (like me!) in the business community are waking up to the Web 2.0 era. But the Business 2.0 era is just starting, when these technologies will become used more and more by mainstream business. Andrew goes on to say: “So both SOA and Enterprise 2.0 are really philosophies; the former about letting computers interact with each other without humans, the latter about letting humans interact with each other via computers. And advocates for both say they’re right around the corner, and point to examples on the Internet to buttress their claims. So what’s the big difference?”
Read the rest of his article to find out. One is about imposing rules to achieve business process integration, whilst the other is about letting the flexibility of the technology facilitate the emergence of a workable solution from the data and processes the business is trying to capture. I know which is more useful to my organisation and my clients. It’s about business evolution and survival of the fittest for purpose.