In the article "Taking the horror out of SOA," Jon Collins and Massimo Pezzini talk about how the hype has hurt this architectural pattern.
SOA has been overhyped, oversold and set up to fail. When we see headlines decrying failures of strategic SOA projects we want to weep -- in many cases, [organizations] that required some straightforward extensions to their existing architecture were up-sold into putting in place unwieldy architectures that proved impossible to deploy. It's a bit like a town needing a bypass, but somewhere along the way the project became Milton Keynes.
[ Effective architecture is key to business flexibility, agility, and efficiency. Keep up on developments in SOA with InfoWorld's Technology: Architecture newsletter. ]
The fact of the matter is that SOA was overhyped and to some extent still is. The issue I have with SOA is that it should be requirements-driven and not demand-driven. Indeed, the amount of marketing dollars that sold SOA as the magical fix for your enterprise architecture was about 10,000 times as much as the marketing dollars that educated people about SOA. That should be reversed.
What would we advise? Essentially, to ignore the hype and get on with delivery. As one commenter on the backlash to the backlash (you can't make this stuff up) said: "If we weren't developing applications today using SOA principles and best practice, how the heck else would we be doing it?"
Well, where have we heard that before? From somebody that looks an awful lot like me. :-) However, I (and others shouting the same message) could not be heard above the $2 billion in marketing hype surrounding SOA. SOA was sold one way, and it really was something else. Thus, they tried to kill it. Indeed, it was set up to fail, but it lives on. Think Jason from "Friday the 13th" moreso than Frankenstein. SOA just won't die.
Let's make this very clear:
- SOA is an architectural pattern that pre-dates the "SOA" TLA. We did SOA well before the TLA was born and we'll be doing SOA long after it's forgotten.
- SOA is a way of approaching architecture, something you do. It's never technology, or something you buy.
- SOA is systemic to Enterprise Architecture and does not replace it.
- SOA takes a lot of good honest work to be successful; there are no shortcuts that I've found.
- If done right and placed in the proper context, there is a clear benefit from doing SOA.