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 Wednesday, 14 August 2002 07:16:58 UTC