"Does distributed computing have to be any harder than this? I don't think so." In retrospect, that was a useful thing to ask at the time. Of course it conveniently swept under the rug a whole set of issues which we now gather under the rubric "service-oriented architecture." Today I might rather ask: "Does distributed computing have to appear to be any harder than this?"
I attended another seminar last night on "Service Oriented Architecture". The result was another audience of essentially web and VB developers sitting in stunned silence as they attempt to relate the presentation to anything remote familiar in their own experience. Yet again the presentation included a parade of the various Web Services extensions:
Of course Microsoft and IBM will attempt to "peanut butter" over the inherent complexity in their respective IDEs. But is this really necessary? Most of the cases I think could be solved more simply and so with a simpler presentation for the typical developer.
The two missing aspects of every presentation I've attended so far are:
- Coherent use cases that demonstrate the advantages of when and how to use each of these features. A "Use Case" specifically would indicate who (which developer roles) would be interacting with which services during the processes of developing and deploying a "Service Oriented Architecture".
- Evaluations of alternative strategies. These standards-in-progress are not mature. They do not strike me as "the simplest thing that could possible work". And yet they are just assumed to be the new "distributed system language" of the future, that will make everything better. I'd like to have some transparency into the decision making process, and see what alternatives have been discussed. Unfortunately having participated in the development of standards a couple of times, I know that alternative evaluations are rarely given their due.