> SOA is not a technology, it is a buzz word that a few marketers created.
Not quite. SOA is not an API or code library. There is no referenece implemenation or specification. If there were, I would agree that is is worthless BS simply because we are nowhere near the point of defining a spec. Instead SOA is a concept, and idea about how to structure distributed systems. As you noted, there have been many, many years of spectacular failures. However, I would say that the reason CORBA and DCOM systems failed was not because they are inherently awful technologies (athough they certainly have their warts), but rather because of the way they were used. Service-oriented architecture is an idea currently being hammered to fix that part of the problem, regardless of what technology you use to implement it. Because it is essentially an on-going argument, there is not currently a consensus position that you can point to and call The One True Definition of SOA.
Again, I remember the same arguments when OO was first introduced to the masses (as opposed to the LISP and Smalltalk gurus who always knew everything before the rest of us unwashed barbarians). Many people claimed that OO was just marketing fluff because there was nothing there that could not be done in C or even assembly, given the right discipline. They were missing the point. OO was not the language or dev tools, it was the discipline and the approach to building software. The real debate was not about languages. Instead it was about what consistituted object orientation, what its strengths and weaknesses were, and how to apply it. That took years of arguing and experiementing to work out, and frankly we are still learning.
It seems that part of the issue is that there is no official standard for SOA. I think one of the worst things for our industry is the idea that as soon as someone has an idea, there must be a standard for it. even if the problem is not yet understood. Sun and other large vendors are among the worst offenders in that they create standards to fit their latest tools as soon as they come out. I point to EJB and JSF in the Java space. Standardize from a consensus of best practices and a good understanding of the solution, rather than just declaring one by fiat so you can claim your product is "standards compliant". I already ranted about spec-envy in my blog |