Re: "Orchestration" and "Choreography"

Edwin Khodabakchian <[email protected]>
Newsgroups gmane.comp.web.services.ws-arch
Message-ID <[email protected]>
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 <[email protected]> 
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" <[email protected]>
> To: "Sanjiva Weerawarana" <[email protected]>; 
<[email protected]>;
> <[email protected]>
> 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: [email protected] [mailto:www-ws-
[email protected]]On
> > > Behalf Of Sanjiva Weerawarana
> > > Sent: Wednesday, August 14, 2002 4:19 AM
> > > To: [email protected]; [email protected]
> > > 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" <[email protected]>
> > > To: <[email protected]>
> > > 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/
> > > > >
> > > > >
> > > > >
> > >
> 
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.