Rod Johnson, SVP, Middleware and GM of the SpringSource division at EMC VMWare, had disparaging words about service oriented architecture in a recent speech, relegating the philosophy to a vendor fad.
Johnson's remarks on SOA are as follows:
"If you look at the industry over the past few years, the way in which cloud computing is spoken of today is the way in which SOA was spoken of four or five years ago... I think with respect to SOA, it really was a fad. SOA is something that is really sound at an architectural practice level, but in something in terms of selling product, was really an artificial marketing-created concept by a lot of vendors... In the case of cloud computing, however, there is more substance behind it. However, that substance is obscured by the fact that it could mean anything to anyone."
Like Dave, the purpose of this post isn't to sensationalize some casual remarks in an otherwise good speech. And, I agree part of Johnson's reasoning, that SOA was pumped up as a cure-all panacea by vendors. But too much work has gone into SOA over too many years at companies to relegate it to "artificial fad" status. And the work still goes on, whether or not it's formally referred to as "SOA." SOA has prepared many organizations for the next stages of shared services, which includes cloud.
Plus, I don't think a vendor representative should stand up there and say the current "big thing" (in this case, cloud) has legitimacy, while yesterday's big thing (SOA) was bogus. That hurts the credibility of the entire argument.
And, as Dave so aptly puts it:
"To those who use SOA to get to the cloud, Johnson's statement is akin to saying that sound engineering principles are a fad. Or that the new generation of cars is here to stay, er, until next year's models come out. You won't get to the new generation of cars without solid engineering principles, and those engineering principles are durable across many generations of cars."
Dave also points out that SOA and cloud are different things: "SOA is something you do," while cloud "is a computing model or a way of leveraging computing resources where those resources can be provisioned and released as required from a set of resources pooled locally in a private cloud or remotely in a public cloud."
SOA also represents many other things important to business IT, including sound governance practices and injecting enterprise thinking into projects. We've come too far over the past decade to throw it all away.