This year I became member of Software Developer Network, which is mostly Dutch group (network) of developers. As a member one receives their magazine called SDN Magazine and is legible for attending a couple of conference they organize through the year in Holland. Yesterday I received their 93th issue of the magazine. It contained a nice article of SOA called: Semantic Coupling; the Elephant in the SOA room. You can get electronic copy of it later this month through the above link. It’s a great article to agree or disagree about its content (I agree with some parts, but not all). It is starting off with SOA being the current and continuing industry fad. Where SOA continues along the hype curve (Gartner, see link to have this explained in a critical manner) and not being the silver bullet or a replacement for n-tier client/server or object-orientation (which he likes, see his site). He explains that SOA will fall into the pit of disillusion (not seen in curve shown here). In San Francisco where I attend his pre-conference VS!Live Conference he also made some comments about SOA like it is not going to replace or getting business objects/object orientation extinct.
That something I believe too, but SOA is not a bad thing nor is it a disillusion. SOA can or may resolve some difficult integration problems concerning isolated applications to communicate with each other or outside world through services. It can be a platform to automate business process and provide companies to build better services for their customers like Jet Blue for instance (see my blog post October 2006). I can easily state here that the author is by far not a SOA evangelist. After the introduction he goes into syntactic & semantic coupling. He refers to his mentor David Chappell blog post. Where reuse is hard to achieve, because focus in SOA lies in syntactic coupling. It is centered on rules around addressing, binding and contract (ABC there you go Windows Communication Foundation).
Harder part is semantic coupling where it comes down to behavioral dependencies between components and services. That is the actual meaning to interaction between a consumer and a service. Both syntactic and semantic coupling are explained through metaphors (baking of cookies), where in the end Rocky looks into the future. I would say read the article, because I will not go into summarizing the story around the used metaphor. Finally he concludes that semantic issues have to be realized by yourself using good old procedural design, use of flow charts, data flow diagrams, control diagrams and state diagrams (all stuff already present for years and years). SOA hype will fade away since it is being overhyped and resolves only a number of serious and important issues (two I mentioned here). Overhyped maybe so, but it is a good concept and about fading away I do not agree at all. It still gets alot of attention and buzz.