合成手順は以下のようになります.
ここでは,BPEL-WS 2.0仕様書にある例を使い説明したいと思います.
コレオグラフィを右図に示します. 右図はUML1.xのコラボレーション図の記法により書かれています. この例では,Customer, Vendor, Shipping, Invoicing, Scheduling の5つのサービスが存在します.VendorはCustomerからorderを受け取ると,Shipping, Invoicing, Schedulingの各サービスに指令を出し,それらからの返答をまとめてCustomerにorderReplyとして返信します.
Shippingへの指令はshipReqで,返答はshipInfoです.
Invoicingへの指令はproductInfoとshipTypeで,返答はinvoiceです.ここで,productInfoはorderを受けるとすぐに送信しますが,shipTypeはshipTypeはshipReqを送信した後でないと送信してはいけません.InvoicingはproductInfoとshipTypeを受信した後に,何らかの処理を行い,invoiceを返信します.
Schedulingへの指令はproductScheduleとshipScheduleです.ここで,VendorはproductScheduleについてはorderを受けるとすぐに送信しますが,shipScheduleはshipInfoを受信した後に送信します.
VendorはshipInfoとinvoiceを受信して,shipScheduleを送信した後にorderReplyをCustomerに送信します.