Re: "Orchestration" and "Choreography"

Sanjiva,

I am a little confused: Aren't "abstract BPEL 
processes" suppose to represent business protocols 
and provide a global model?

Thanks,
Edwin

---- Sanjiva Weerawarana <sanjiva@watson.ibm.com> 
wrote:
> 
> Hi Anne,
> 
> Indeed. What I was saying is that IMO these terms 
don't have
> fixed meanings in this space as they stand today. 
However, WSAWG
> certainly can define them as you see fit.
> 
> Note that the "global model" case of Edwin's list 
(case 1)
> does not express an executable composition - its a 
declaration
> of how a set of services interact with each other. 
Only
> case 2 is an executable composition - it says how 
to provide
> a new service as a composition of two services.
> 
> Sanjiva.
> 
> ----- Original Message -----
> From: "Anne Thomas Manes" <anne@manes.net>
> To: "Sanjiva Weerawarana" <sanjiva@watson.ibm.com>; 
<edwink@collaxa.com>;
> <www-ws-arch@w3.org>
> Sent: Wednesday, August 14, 2002 5:34 PM
> Subject: 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 13:04:36 UTC