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 15:06:16 -0400
To: "Cutler, Roger (RogerCutler)" <RogerCutler@ChevronTexaco.com>
Cc: edwink@collaxa.com, "'Martin Chapman'" <martin.chapman@oracle.com>, "'Sanjiva Weerawarana'" <sanjiva@watson.ibm.com>, www-ws-arch@w3.org, www-ws-arch-request@w3.org
Message-ID: <OFD0EF984A.76FF6F4D-ON85256C16.0066C46E-85256C16.0068DCF4@rchland.ibm.com>
Roger,

It depends upon who is using the words.

In general, I think that most people have been using the terms
somewhat interchangably, e.g. without really thinking about or
inferring any hidden meaning.

However, for some, the two terms *do* have precise meaning that
follows roughly the distinction that Martin and I were drawing.
Typically, a workflow can be, and often, is centrally managed/controlled.
Thus, the term "orchestration" is often associated with workflow.

However, the execution of a collaborative business process, spanning
multiple trust boundaries cannot be centrally controlled. It can
be choreographed, but then it is up to the the parties to the
collaborative process to follow the choreography independently,
each dancing to their separate but related roles.

Thus quoth Humpty Dumpty: "When I use a word, it means what I choose it to 

mean--neither more nor less."

Cheers,

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

www-ws-arch-request@w3.org wrote on 08/15/2002 02:20:24 PM:

> Whoa Nelly!  Is this really true?  Does "orchestration" (in the WS 
sense) really imply the 
> existence of a conductor that is (metaphorically) waving a baton that 
all the participants follow 
> (at run time)?  And that "choreography" implies that there is no such 
conductor and that the 
> participants are responsible for acting according to a pre-arranged plan 
or pattern?
> 
> If so I have been pretty far off in what I thought these words are 
referring to.
> 
> -----Original Message-----
> From: Martin Chapman [mailto:martin.chapman@oracle.com] 
> Sent: Thursday, August 15, 2002 11:26 AM
> To: 'Christopher B Ferris'; 'Sanjiva Weerawarana'
> Cc: edwink@collaxa.com; www-ws-arch@w3.org; www-ws-arch-request@w3.org
> Subject: RE: "Orchestration" and "Choreography"

> 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 15:08:08 GMT

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