IBM Global Services' Michael Liebow notes in his latest WebServices.Org blog posting that SOA Momentum [Is] Building. But is reported customer adoption of SOA all that it seems? Analysts Robin Bloor and Judith Hurwitz were chatting about this recently, reports Robin in a column this week: "We both agreed that SOA is not well understood. She told me about a user interview where the IT user was asked: 'Are you moving to a Service Oriented Architecture?' and they replied, in all seriousness, 'Yes, we're moving to client/server'."
Is there anyone out there who really understands what service oriented architecture (SOA) actually means? I must say that, although I use it a lot, I've always found the term vague, clumsy and pretentious. So does John Koenig, who kicked off a recent commentary with a delightfully withering dismissal of the term: "... as if oriented-this or oriented-that added meaning simply because it was conceptually different than a non-oriented thing. Orientation was, and still is, no more than academics and software engineers (and even journalists) pontificating and obfuscating, projecting their petty logic as stupid orientation abstractions (SOA). Just tell it like it is please."
The etymology is shrouded in a certain amount of mystery, but it seems the phrase 'service-oriented' originally arose as an evolution or advance on 'object-oriented'. According to an entry in the wikipedia definition of object-oriented, that term refers to grammatical notions of subjects and objects, and was part of an attempt to get programmers to start thinking in a more modular way. So SOA arose as a three-letter acronym derived from an evolution of an abstraction that no one remembers any more. No wonder people are confused.
The only reason for using these phrases is if they help establish shared meaning that allows people to effectively exchange information and constructively expand their knowledge. SOA, like so many overworked marketing terms, is in danger of failing that test. One of the things that I like about BEA's current messaging around SOA is that the company tends to avoid overusing the acronym, and instead talks much more about shared services and services infrastructure, both terms that I find simpler and more meaningful.
Although SOA has its uses as a convenient shorthand term (especially in headlines) for people who have already got accustomed to it, we should all admit that it does little to convey its meaning to newcomers. I'm afraid things will go from bad to worse if we also expect them to take on board other strangely oriented acronyms such as aspect-oriented programming and application-oriented networking. The vital concepts lurking behind these phrases need clear, unambiguous explanation if they are to take hold.