RE: "Orchestration" and "Choreography"

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