RE: Simple Choreography composition suggestion

> The point I disagree with is the notion that something is not a
> Choreography if somewhere, at some level it involves 'orchestration'
> within a single system.

I completely agree with you. If we take BPEL as an example of orchestration, then the BPEL process interacts with a bunch of Web services, and the process itself is a Web service (by definition). So we have a few Web services (the BPEL process itself plus the other Web services that BPEL interacts with) which exchange messages among themselves - messages which most likely involves a change of state of the various Web services involved. So this configuration of Web services should be describable via a choreography (by definition).

For instance, let's look at the Purchase Order process described in BPEL 1.1 (sec. 6.1) as a concrete example. Seen from "outside" this BPEL process is just a Web service exposing a purchaseOrderPT portType, so it can take part in any choreography where other Web services interact with this one using that particular portType.

But if we look "inside" the Purchase Order Web service itself, we find out that it also interacts with other "internal" Web services, i.e. the Invoice, Scheduling and Shipping Web services (by sending messages to those Web services and by receiving messages from them on its invoiceCallbackPT and shippingCallbackPT portTypes - all these message exchanges being controlled by the BPEL process itself). So we can in principle describe these four Web services and their interactions using another choreography. And this latter choreography composes (i.e. interacts) with the former one via messages exchanged over the purchaseOrderPT portType.

Ugo

 

Received on Wednesday, 16 July 2003 16:40:15 UTC