SOA has been around for a few years now, time to see what it has brought us. Especially since SOA 2.0 seems to be an excuse to us all to forget the imperfections of SOA and hurry over to the next hype, leaving SOA behind in its own rubble
I think SOA is a good concept. IT is bad enough for the business as it is, with all its inherent diversity: one business, a few processes, and dozens or hundreds of applications supporting it. And, since CRM and ERP, we all know very well that the one-size-fits-all promise is yet another Utopia, slowing down your business rather than doing the opposite
I also think existing SOA implementations are bad. That is a rule to which there must be exceptions. I've seen vendors jump in and all over a customer, shamelessly selling one lie after another, moving in lots of expensive and useless hardware and software, nailing down any business opportunities for IT eternity (i.e. 3-5 years)
In this -to be very long- blog post I'll describe my experiences with SOA. I'll name the Good, the Bad & the Ugly. With the goal of making this world a better place, in essence
I'll split up the various points in blog posts to maintain legibility. Although they all have things in common, of course
1. The predecessors of SOA, ESB and OO, have left the EAI field in ruins. There were -and still are- hardly any people to grow into the role of SOA architects based on previously acquired knowledge and experience. More here...
2. The rise and shine of architecture as a profession (and institution) has considerably increased the chance of IT failure. More here...
3. SOA is the most ambitious goal ever: it perfectly shows the difference between optimism and naïveté. You can't standardise a car before you've been able to standardise each single part. More here...
With all these in mind, having stressed and explained the bad and the ugly, let me briefly rephrase:
a. SOA is all about integration, but got hijacked by architects. Integration architects didn't exist at that point, nor at that scale
b. Country club-like decision making has hurt architecture. Worse, SOA was the first ever A-thing: it was solemny about architecture. It was architecture's first test
c. The world wasn't and isn't ready for UDDI and all that. Look at politics, religion, economics: it would be great if we could just get along, bloody marvellous if we understood eachother, and a *miracle* if we could automate all that. Yes, in plain English: there is no place for 100% SOA, not in a 100 years from now
Service-oriented applications would have been nice, for starters. I never got around to discover who actually invented the idea of SOA, but I missed what its predecessors were (found a way to make them up myself though, and anxiously waiting for the results).
Who ever thought it was the right time for the next step?
Why did SOA fail at large?
The failure of OO on an application level, combined with the failure of ESB on an enterprise level, confused with the introduction of XML, together with the rise and shine of architecture-as-a-profession, made it all possible for SOA to fail on most accounts
There, I'm just throwing it all up there maxing it out on all points, but I'm sure we can reach an agreement on that
Now for the Good part: how to do SOA the right way?. More here...
I hope this helped. And makes way for some dialogue