4. Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) BPEL Background & Motivation
5. The Basis: Service Platform Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) Messaging Quality of Service Transport Description Transports Interface + Bindings Composite XML Non-XML Security Policy Discovery, Negotiation, Agreement Atomic Orchestration Protocols State Components Reliable Messaging Transactions
6. The Basis: Web Service Platform Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) Messaging Quality of Service Transport Description HTTP, SMTP, XMPP, TCP/IP, FTP, Tuple Spaces,… WSDL Composite SOAP, WS-A JMS, RMI/IIOP WS-Security* WS-Policy* UDDI, WS-A, WS-MEX, WSIL Atomic BPEL WS-C, WS-CDL, BPEL4Chor WSRF Components WSRM WS-AT, WS-BA,…
7. Why Orchestration? Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) ??? To achieve a business goal, you often need more than one service… Which to use, in which order, how to use them?
9. The Notion of Orchestration: Deja Vu Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) Workflow Business Functions
10. The Notion of Orchestration: Deja Vu Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) Orchestration Web Services
11.
12.
13.
14.
15.
16. Partner Links Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) process partner link partner link type Peer-to-peer conversational partner relationship WSDL port type myRole Provided port type WSDL port type partnerRole Required port type receive Inbound request – service provided by the process invoke Outbound request – service required by the process “ I expect from my partner an implementation of this!”
17.
18. Properties and Correlation Sets Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) process How to identify stateful instances via stateless Web service interfaces? initiate process instance 3 correlation set customerId orderNumber process instance 1 process instance 2 process instance 4 receive Submit purchase order Messages in long-running conversations are correlated to the correct process instance locate purchaseOrder cId = 0815 orderNo = 42 receive Query order status queryOrderStatus custId = 0815 oNo = 42 customerId orderNumber 4 (0815, 49) 3 (0815, 42) 2 (0707, 11) 1 (0311, 33) process instance 3
19.
20. Fault and Compensation Handling Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM)