BPEL
Business Process Engineering Language
A technology used to build programs in SOA architecture
Business processes
Business Process
• ProcessProcess is a sequence of steps that is:– initiated by an event,
– transforms its inputs (in many repsects) and
– produces a specified output.
• A business process business process is a set of logically related tasks performed to achieve a well-defined business outcome. – Defines the results to be achieved, the context of the
activities, the relationships between the activities & the interactions with other processes and resources
Pro
cess
-ori
ente
d w
orkf
low
s
Web Services & Business Processes
• Building composite services by combining existing elementary or complex services– requires coordinating the flow of control and
information between the component services. • Business logic can be seen as the ingredient
that sequences, coordinates, and manages interactions among web services.
• Techniques for Web services composability draw heavily on business process modelling and workflow processing languages.
Flow Model
• How to combine?
• Order execution
• Decision points
• Passing data
Transition conditions
Service Composition
PlacePlaceOrderOrder
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture. Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
SendSend
Rejecti onRejecti on
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
order details
rejection details
client details
invoice
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
ReceiveReceiveOrderOrder
CheckCheckCreditCreditWorthinessWorthiness
CheckCheckInventoryInventory
RequestRequestShipmentShipment
reservecapacity
quantity
quantity
SendSendBillBill
delivery details
deliverydetailsReceiveReceive
BillBill
ReceiveReceiveGoodsGoods
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
I ssueIssue
PaymentPayment
invoice
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
quanti ty
ConfirmConfirmDeliveryDelivery
DespatchDespatchGoodsGoods
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
Qui ckTi me™ and a decompressor
are needed to see thi s pi cture.
deliverydetails
LOGISTICSLOGISTICSPROVIDERPROVIDER
RejectReject
GoodsGoods
InvoiceInvoice
AcquireAcquireGoodsGoods
WS orchestration vs. choreography
• Orchestration describes how WSs can interact at the message level, from the perspective and under control of a single endpoint (single party).
• Choreography – is associated with the public message exchanges, rules of
interaction & agreements that occur between multiple business process endpoints.
– tracks the sequence of messages that may involve multiple parties & multiple sources, & described from the perspectives of all parties (common view).
BPEL an orchestration language
• models business process collaboration (<partnerLink>s),
• models the execution control of business processes,
• separates abstract definition from concrete binding,
• supports fault handling & compensation,
• supports service composability (structured activities can be nested and combined arbitrarily),
• supports context (<scope> mechanism),
• spawns off & synchronizes processes (<pick> & <receive> activities),
• supports event-handling.
BP
EL
str
uctu
re
BP
EL
abs
trac
t &
exec
utab
le p
roce
sses