- From: Sanjiva Weerawarana <sanjiva@watson.ibm.com>
- Date: Wed, 14 Aug 2002 14:18:35 +0600
- To: <edwink@collaxa.com>, <www-ws-arch@w3.org>
I'm not sure whether there's such a clear distinction between the terms. During the lifetime of the BPEL4WS document, it was at one point called WS-Orchestration, then WS-Choreography, then WS-Business Process and and eventually BPEL4WS. I can tell you that the name changes had nothing whatsoever to do with technical distinctions between the words .. it was all marketing and, um sometimes, politics ;-). To me orchestration, choreography, business process, workflow are all ways of indicating how to take a bunch of things and put them together to do something meaningful. We also use the term composition for the same thing .. BPEL4WS is a language for composing a set of Web services into another service. The thing that makes it a workflow language is that the composition primitives chosen are those that are well-known in the workflow domain. Edwin's distinction seems to be the difference between what WSFL called global models vs. flow models. I think that distinction is definitely valid (BPEL4WS doesn't yet handle global models, for example), but I don't think the terms choreography and orchestration distinguish between those two. Coordination is different IMO; that's really distributed synchronization (rendezvous). Hope this helps, Sanjiva. ----- Original Message ----- From: "Edwin Khodabakchian" <edwink@collaxa.com> To: <www-ws-arch@w3.org> Sent: Wednesday, August 14, 2002 1:42 AM Subject: "Orchestration" and "Choreography" > > Mike, > > There are 2 problems that need to be solved: > > Problem #1: You have 3 different services that > interact with each other and you want to document the > exchange of message between those services. > > Problem #2: You want to invoke 3 different services > in a specific order because they have data and > control dependencies between each other. > > Problem #1: is called choreorgraphy. It is about > providing more information about interfaces of > services and how they plug to each other. > Choreography defines public protocols that each party > needs to be compliant with. RosettaNet PIPs, WSCI, > BPSS and BPEL4WS abtract processes try to address > this problem. Note: This is not executable logic, > only something you are compliant with. > > Problem #2: is called workflow, BPM or Orchestration. > It is about implementing logic that ties a set of > services into an end-to-end process. That logic is > then executed by a run-time that dispatch the right > message to the right component and wait for the > reception of the right message to activate the next > service. Orchestration languages are similar to other > scripting language but usually include support for > asynchronous interactions (<receive> in BPEL) and > flow coordination ( <flow> in BPEL ) and business > transactions (WS-T or BTP). Also, in term of > terminology, orchestration languages use activity > where traditional languages use statements. > > One of the most important aspect of both of those > problems is that they require a visual representation > because they are used as an important communication > medium between partners but also within an > organization between the business analyst and > business users that know the rules and data models > and the developers that implement the real work. > > my 2c, > Edwin > > > > ---- "Champion, Mike" <Mike.Champion@softwareag- > usa.com> wrote: > > > > 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 Wednesday, 14 August 2002 04:20:12 UTC