These are the old pages from the weblog as they were published at Cornell. Visit for up-to-date entries.

September 10, 2003

Context and Coordination

I received the news today that my paper 'Tracking service availability in long running activities' was accepted for publication/presentation in the First International Conference on Service Oriented Computing. The paper is an update on the membership paper I wrote for WWW2003, but more in line the current state of the software and more architectural information. 

There was one comment from the reviewers that was somewhat unexpected for me. She/he commented that I had failed to critically asses the suitability of WS-Coordination for the purposes I was using it for. The comment is correct, I hadn't done that. The reasons for that is that for me the services described in the Coordination spec are so essential to distributed computing that I have never questioned that there would be contention about whether they are needed. The Coordination Service provides individual web services with a mechanism to establish a relationship that can be used within the context of a joint activity. The resulting 'context' that can be passed around among the participating services to have a way to join in the instance of the activity, which for example could be a distributed transaction, a consensus/agreement operation, or as in the case of the Service Tracker a failure detection and membership support service. WS-coordination provides a framework for acquiring a context for the specific activity type, and mechanisms for other web services to use the context to 'hook-up' with the software components that implements the desired distributed activity.

You can visualize the Coordination Service as a sort of broker or gateway to distributed support services, which in general would be used by a collection of web services that are active in a composite application such as a transaction. One of the service components would request the instantiation of the support activity and then share the resulting context with the other services, which can use it to access the same support instance. This broker/gateway model provides a simple mechanism for  finding support services and way to share support service specific information, and it has been used in many other, pre-web services,  distributed systems.

A distributed operation needs a context to function, for identification and scoping purposes. WS-Coordination provides a simple framework to achieve this, WS-CTX from the Sun/Oracle/Iona/Arjuna Transaction framework would be a another approach. But without this simple service, it would become very bothersome to write support services as well as the composite distributed application as developers would constantly need to roll their own version of a context & coordination service.

A 'small' request: can someone at IBM/Microsoft please update WS-Coordination to be in line with WS-Addressing...

Posted by Werner Vogels at September 10, 2003 12:05 PM