- From: Anne Thomas Manes <anne@manes.net>
- Date: Wed, 14 Aug 2002 07:34:31 -0400
- To: "Sanjiva Weerawarana" <sanjiva@watson.ibm.com>, <edwink@collaxa.com>, <www-ws-arch@w3.org>
I think it's our job to make the distinction. As Edwin said there are different ways to assemble services. To clarify my previous comment: Orchestration: you invoke a service, and a whole bunch of other services get invoked on your behalf according to the orchestration specification (composition of smaller services into a larger service) Choreography: you want to execute a multi-step process with another partner. First you send this message to this service. He will reply with this other message within a certain timeframe. You next send another message to this other service. He will send a message to one of your services. etc. (an interaction script) Anne > -----Original Message----- > From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org]On > Behalf Of Sanjiva Weerawarana > Sent: Wednesday, August 14, 2002 4:19 AM > To: edwink@collaxa.com; www-ws-arch@w3.org > Subject: Re: "Orchestration" and "Choreography" > > > > 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 07:35:01 UTC