Anne Thomas Manes created quite a kerfuffle across the blogosphere this past week with her pronouncement that SOA [as we know it] is "dead," at least as a concept for addressing efficient delivery of services across enterprises.
In a follow-up post, Anne says her statement was widely misinterpreted. She says she was not — repeat, not — advocating incremental approaches over "Big SOA;" nor was she advocating REST adoption over WS-* as the service protocol that underpins SOA. Nor was she saying that the moniker "SOA" itself was flawed, so we have to call it something else.
Instead, Anne says, the SOA concept itself is fundamentally flawed, especially when that it calls for business transformation that may be impossible to undertake in one fell swoop. And that's where the disillusionment has set in. Instead, organizations need to focus on the most efficient means of delivering services across the enterprise, and build from there. As Anne puts it:
"My real point is that we should not be talking about an architectural concept that has no universally accepted definition and an indefensible value proposition. Instead we should be talking about concrete things (like services) and concrete architectural practices (like application portfolio management) that deliver real value to the business."
One of the things I have pondered since the inception of this blog (and I've seen hotly debated) is whether the term or idea of "service oriented architecture" should be widened to incorporate the cloud, Web 2.0, enterprise 2.0-ish phenomena we're seeing in the world at large, or if SOA should not stray from its original intent and definition, which is to facilitate an environment in which loosely coupled services are developed, deployed, and reused/shared in a managed, orchestrated manner to support processes across and between organizations.
In one sense, cloud and Web 2.0-ish approaches such as mashups can be considered emerging approaches and enablers of SOA under this definition. On the other hand, throwing in all and everything leads to a watering down of the definition of SOA — which only creates confusion and disillusionment.
This is a question we'll continue to look at and try to answer in this blogsite. Of course, the bottom line is that SOA — and cloud and Web 2.0 for that matter — deliver nothing to the business — nothing. Organizations are not demanding "SOA" and they are not demanding "cloud computing." They are demanding better business intelligence and more predictive supply chains. They are demanding faster ways to understand and meet customer needs. SOA is a methodology that potentially makes more agile and streamlined business applications possible to meet these business demands.