W3C home > Mailing lists > Public > www-ws-arch@w3.org > August 2002

RE: "Orchestration" and "Choreography"

From: Christopher B Ferris <chrisfer@us.ibm.com>
Date: Thu, 15 Aug 2002 12:54:01 -0400
To: www-ws-arch@w3.org
Message-ID: <OFAB42CE7E.6EB90FF1-ON85256C16.005BED24-85256C16.005CC191@rchland.ibm.com>
Martin,

I believe that was my point exactly.

Cheers,

Christopher Ferris
Architect, Emerging e-business Industry Architecture
email: chrisfer@us.ibm.com
phone: +1 508 234 3624

Martin Chapman wrote on 08/15/2002 12:25:39 PM:

> Not quite the same in the real world I think. When I go to the theatre, 
the dancers have a 
> choreographer, but this person is not controlling the live performance 
i.e. it's up to the 
> individuals to follow previous learned instructions set by the 
choreographer.
>  An orchestra on the other hand (typically) has a conductor present who 
controls the music. So one
> is controlled at "run time" the other is not.
> 
> Martin.
> -----Original Message-----
> From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org] On 
Behalf Of Christopher B Ferris
> Sent: Wednesday, August 14, 2002 4:16 AM
> To: Sanjiva Weerawarana
> Cc: edwink@collaxa.com; www-ws-arch@w3.org; www-ws-arch-request@w3.org
> Subject: Re: "Orchestration" and "Choreography"

> 
> http://www.dictionary.com/search?q=orchestration 
> http://www.dictionary.com/search?q=choreography 
> 
> One refers to music, the other dance:) Aside from that, they are both 
> about arrangement. I think that the one distinction that can be drawn 
> is that orchestration is also a form of control. The term choreography 
> makes no mention of control. 
> 
> I seem to recall that the one point that some of my previous colleagues 
> considered important is that a collaborative business process (one that 
> spans multiple domains of trust) cannot/should not be centrally 
controlled. 
> I think that this is what Edwin is getting at, and personally, I too 
think 
> it is an important distinction. 
> 
> Cheers, 
> 
> Christopher Ferris
> Architect, Emerging e-business Industry Architecture
> email: chrisfer@us.ibm.com
> phone: +1 508 234 3624 
> 
> Sanjiva Weerawarana wrote on 08/14/2002 04:18:35 AM:
> 
> > 
> > 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 Thursday, 15 August 2002 12:54:37 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:04 GMT