Rocky's blogged about SOA several times and I find I agree with his opinion. Thought you guys might enjoy this from a technologyevaluation.com paper:
"Examples of SOA can be found in our everyday lives. A common example is a DVD player. The player offers the service of playing the DVD. You can play multiple DVDs in the player. You can even play the same DVD in another player, but the sound quality may not be the same. SOA, however, should not be confused with object-oriented programming (OOP). Following our DVD example, in OOP the DVD would come with its own player, not to be separated. This diminishes one of the primary advantages of SOA, namely reusability."
I think it's interesing how the author twists the analogy to fit his point of view. It seems to me the player is a UI, and no n-tier/OOP advocate in their right mind would suggest such a thing.
Now, what might be suggested is that the DVD be responsible for delivering its own playlist and other details about its content, rather than have the player (UI) responsible for retrieving that after the fact. Now, who else thinks that kind of OOP thinking would be an improvement to the DVD design? :)
Let's extend that to consider the DVD itself nothing more than a data store, eh?
Not to blow too much smoke up Rocky's a**, but the biggest reason I became a fan years ago and bought into Csla was how thoroughly he explains his decision-making process and is very up-front that many of his decisions are based on nothing more than his preferences. That kind of honesty was and continues to be refreshing.
As the article you refer to indicates, there are too many "authors" out there who have their opinions and don't think twice about making what they read and hear support them. Good developers, which this forum is full of and is the reason why it is so successful and useful, keep an open mind, know that there is always more knowledge out there and are willing to change their opinions based arguments presented by others. Put this "author" in front of a live audience and see how long he holds his opinions when challenged. The internet has empowered this type of "reporting" because anyone can get on a soapbox and preach whatever they want with limited risk of being exposed as an idiot.
That wasn't too preachy was it?
You made me realize that I started this post with the background context of the blogging Rocky's done on SOA and my own fairly extensive (relative, anyway) research into WF.
I never intended to imply that SOA is stupid or worthless or that only lemmings were adopting it. My intended point was specifically on the complete twist or lack of logic employed by this particular author to support his basic position that SOA will cure cancer and OOP is archaic idiocy.
And that has been a large part of the discussion here and by Rocky. This is the second person I've heard say that specifically that OOP limits reusability. Such a blanket statement is wreckless foolishness in my opinion. OOP came about because of a need too, just like SOA. An SOA advocate like this author might smugly say a DVD has no business influencing how it is played, but I imagine the person who wrote and recorded the music might very well disagree. Hence, we developed a concept of encapsulation.
It seems to me its a balancing act and not nearly as cut and dried as the SOA advocates generally seem to claim. Rocky's position, with which I complete agree, is that service-type interfaces are indeed incredibly powerful and useful, but have their limits and appropriate places. The SOA zealots I've heard do not make any such statements.
In general, I find that when two people disagree and one concedes the other has some valid points but the second person just keeps saying the first is a moron I value the more reasonable sounding person's opinion and ignore the second person's. In my experience, spending many many hours listening to presentations and talking one-on-one to experts about WF, the one position is an attempt to achieve "best of both worlds" and the SOA position is generally all-or-nothing abandon everything we've learned and decided over the last 15 years and start all over again.
Just my two cents worth. To review again, for clarity, I do not mean to deny that SOA has lots of potential and solves some important problems.
jspurlin:You know, I really do not understand the polemics here. It really depends upon what you are trying to accomplish and if there is an approach better tailored to your needs. Now there is even another anacronym going around called SBA (Space Based Architecture). I do adopt a little bit of a "wait and see" attitude about emergent technology or paradigms in software architecting. I am just now starting on Workflow, which I think has amazing potential. SOA has been around for awhile, enough to say there is "proof in the pudding". I am just getting deep about OOP and a paradigm shift for some toward SOA "is" because there are inherent strengths and weaknesses. I think it is "great" I can use a service with no need to know anything more than the contract or interface. Interoperability and cross-platform messaging is very desirable. I would rather be discussing the virtues of SOA that preoccupied with criticisms that close the mind to new ideas.
I am beginning to learn SOA. There are some scenarios where it fits well with what I plan to do and there are some scenarios where OOP is still the better fit. I do not think anyone in there right mind would seriously suggest that SOA is a one size fits all solution. To suggest that traditional OOP isn't either is right on the mark.
There is a "really" significant paradigm shift underway, and in part it is because with the emergence of the web and the growing relevance of information technology in the conduct of daily business, large corporations have found a legitimate need to rethink their technological solutions. SOA is not a pedantic discuss among programmers, it has emerged because the need is there.
I agree completely and couldn't have said it better myself.
And to clarify further, the paragraph you quoted there jspurlin is indeed along the lines of compromise best-of-both-worlds conversation I spoke of.
But the quote I gave is clearly not, and that was specifically what I was referring to.
I think it's that simple. We really don't disagree probably.
I'd love to talk to you about WF. I've invested significant hours and dollars investigating this and I'm just not buying the hype. If you feel strongly about it a discussion would be worthwhile for both of us I think. But, if you want to do that, search here and read the threads about it I've made already and see where you have a different perspective that what I've already stated. Cool?
DansDreams:This is the second person I've heard say that specifically that OOP limits reusability. Such a blanket statement is wreckless foolishness in my opinion.
Copyright (c) Marimer LLC