Section 8.2. Choreography and Orchestration


8.2. Choreography and Orchestration

Many BPM commentators distinguish between the "orchestration" and "choreography" of web services. Both concepts imply coordination or controlthe act of making individuals web services work together to form some coherent overall process. Orchestration, by convention, refers to coordination at the level of a single participant's process, whereas choreography refers to the global view, spanning multiple participants.

The distinction at first glance seems arbitrary. After all, are not the English words nearly synonymous? How is the direction of dancers fundamentally different from the arrangement of instruments? The terminology is suspect. Better terms, perhaps, are "subjective" and "objective," or "local" and "global." But regardless of the words used, the need for a distinction is crucial.

If modern BPM is about communicating business processes, then understanding the overall communication spanning all the processes is as important as understanding the behavior of any one process. Most BPM languagessuch as BPEL, BPML, BPMN, and XPDLfocus on one process and its interactions. In purchasing, for example, the exchange of messages among buyer, seller, inventory, and credit card company is complex, but BPEL characteristically isolates one of the participants and documents its internal processes and interaction touchpoints. The BPEL approach is fundamentally subjective: if I am a seller, here is my process, and along the way, I talk to the buyer, inventory, and a credit card company. This proclivity is depicted in Figure 8-1.

Figure 8-1. Most BPM languages focus on the orchestration of one process


The global view of choreography is different: the seller's internal logic is immaterial. What matters is the protocol: a buyer talks to a seller, who in turn communicates with inventory and the credit card company, as Figure 8-2 shows.

Figure 8-2. Choreography describes the global picture


One major design characteristic of choreography is that interacting participants, being distributed within or across an organization's trusted domain, cooperate by exchanging messages with no dependency on a centralized controller. A choreography definition can generate code skeletons for each participant, as the W3C's choreography documents suggest. A seller, for example, knows from a choreography which web services it is required to listen on and respond to, as well as those it needs to call. This information is enough to create a basic BPEL process, shown in Figure 8-3, with receive and invoke activities marking the web service touchpoints; the rest of the work is providing specific details.

Figure 8-3. BPEL skeleton from choreography




    Essential Business Process Modeling
    Essential Business Process Modeling
    ISBN: 0596008430
    EAN: 2147483647
    Year: 2003
    Pages: 122
    Authors: Michael Havey

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net