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

RE: "Orchestration" and "Choreography"

From: Anne Thomas Manes <anne@manes.net>
Date: Tue, 13 Aug 2002 20:56:22 -0400
To: "Champion, Mike" <Mike.Champion@SoftwareAG-USA.com>, "Www-Ws-Arch@W3. Org" <www-ws-arch@w3.org>
Message-ID: <ECEDLFLFGIEENIPIEJJPOEALCEAA.anne@manes.net>

I've always viewed "choreography" as going a bit beyond just how "A" plugs
into "B". Certainly in ebXML nomenclature, choreography defines a certain
sequence of message exchanges between/among a set of Web services -- in many
cases it defines a long term transaction, such as purchase order processing.
Choreography does not include workflow, although it might define
exception-raising situations. I would say that the primary distinction
between "choreography" and "orchestration" is whether or not workflow is
involved.

Regards,
Anne

> -----Original Message-----
> From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org]On
> Behalf Of Champion, Mike
> Sent: Tuesday, August 13, 2002 8:25 PM
> To: edwink@collaxa.com; www-ws-arch@w3.org
> Subject: RE: "Orchestration" and "Choreography"
>
>
>
> Thanks, that was very helpful! OK, so  ...
>
> "description" defines the "programming" interface of one web service.
>
> "choregraphy" defines how multiple services mechanically plug in to one
> another, e.g., how invoking a particular service puts some object into a
> state where another service can be invoked on it.
>
> "orchestration" defines how multiple services can be used in
> conjunction at
> the level of business processes / workflow / program logic, e.g., "If
> service X is successful, invoke service Y, otherwise invoke service Z".
>
> Do others agree that these are the generally accepted definitions of these
> terms?  Should the WSA adopt this terminology, or try to persuade the
> industry to adopt less, uhh, metaphorical terms?
>
> How about "coordination".  I get the impression that WS-Coordination was
> created because its inventors factored "coordination" out of both
> "business
> process execution" (aka "orchestration" as defined above) and
> "transactions."   The closest I can find to a definition in the
> WS-Coordination spec is a bit recursive: it provides an "extensible
> framework for providing protocols  that coordinate the actions of
> distributed applications. Such coordination protocols are used to
> support a
> number of applications, including those that need to reach consistent
> agreement on the outcome of distributed transactions."
>
>
> > -----Original Message-----
> > From: Edwin Khodabakchian [mailto:edwink@collaxa.com]
> > Sent: Tuesday, August 13, 2002 3:43 PM
> > To: www-ws-arch@w3.org
> > 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 Tuesday, 13 August 2002 20:56:55 GMT

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