"Coordination" and "Choreography"

OK, trying to eat my own dogfood here, I need help understanding the
distinctions between "coordination" and "choreography" in the web services
context.  The W3C recently acknowledged a "choreography" submission [1], and
IBM/BEA/Microsoft just unveiled a collaborative "WS-Coordination" language
[2].  

I presume that some of the authors of those documents are on this list.
Please help!  [send me private e-mail if you don't want to go on record, and
I'll sanitize/anonymize it!!!!]

As best I understand it, "choreography" is a higher-level activity involving
multiple web service invocations, whereas "coordination" is a lower level
activity that choreography or transaction processing, security, etc. would
employ in their implementations, and could be exposed as a web service
itself.  

I have this vague sense that while REST advocates didn't express much
interest in either "coordination" or "choreography", they did so for
different reasons:  Coordination can be handled, in the REST view, by shared
"state" resources identified URI and accessed by HTTP; Choreography is
opposed on RESTful grounds so much as by the sense that
RDF/OWL/DAML-S/whatever would provide a better solution than SOAP-based
protocols.  Does anyone else see it that way?

Special bonus question: Is there a distinction between "orchestration" and
"choreography" in the web services context?

[1] http://www.w3.org/Submission/2002/04/

[2] http://www-106.ibm.com/developerworks/webservices/library/ws-coor/

Received on Tuesday, 13 August 2002 14:49:03 UTC