Web Services Orchestration and Choreography - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Web Services Orchestration and Choreography

Description:

22. Case Study on BPEL. Defines variables variables variable name='request' ... Exception handling: Fault handler catch exception ... – PowerPoint PPT presentation

Number of Views:1207
Avg rating:3.0/5.0
Slides: 31
Provided by: protonScs
Category:

less

Transcript and Presenter's Notes

Title: Web Services Orchestration and Choreography


1
Web ServicesOrchestration and Choreography
  • Presenter Min Lu
  • Paper by Chris Peltz
  • Nov 15, 2004

2
Introduction
  • Higher level, cross-organizational business
    process
  • Two aspects of creating business process from
    composite web services.
  • Orchestration one party
  • Choreography multiple parties

3
Topics of Discussion
  • Process Design Requirements
  • Emerging Standards
  • BPEL
  • WSCI
  • BPML
  • Case Study on BPEL
  • Class Discussion
  • My Conclusion

4
Process Design Requirements
  • Correlation
  • Exception management transaction integrity
  • Dynamic, flexibility and adaptability
  • Recursive composition

5
Process Design Requirements
  • Correlation
  • The ability to invoke services concurrently is an
    important requirement, especially when dealing
    with Asynchronous Web Services.
  • Correlation identifiers

6
Process Design Requirements
  • Correlation
  • Exception management transaction integrity
  • Dynamic, flexibility and adaptability
  • Recursive composition

7
Process Design Requirements
  • Exception management transaction integrity
  • Web services that are long-running must be able
    to handle errors and time-out constraints
  • Compensation transactions can undo an action

8
Process Design Requirements
  • Correlation
  • Exception management transaction integrity
  • Dynamic, flexibility and adaptability
  • Recursive composition

9
Process Design Requirements
  • Dynamic, flexibility and adaptability
  • Flexibility can be achieved by providing a clear
    separation between the process logic and the Web
    services invoked.
  • An orchestration engine can achieve this
    separation.

10
Process Design Requirements
  • Correlation
  • Exception management transaction integrity
  • Dynamic, flexibility and adaptability
  • Recursive composition

11
Process Design Requirements
  • Recursive composition
  • Exposing processes through their own web service
    interfaces.

12
Emerging Standards
Recent History of Business Process Standards
13
Business Process Execution Language
  • Support both executable abstract business
    processes.
  • Executable process
  • Specific interaction
  • Models Orchestration
  • Abstract process
  • Message exchanges between parties
  • Models Choreography

14
Business Process Execution Language
  • Support basic activity structured activity.
  • Basic activity
  • Interact external to the process itself
  • Receive, invoke, respond
  • Structured activity
  • Manage the overall process flow
  • Sequence, loop, dynamic branching

15
BPEL4WS Process Flow
16
Web Service Choreography Interface
  • Defines choreography only
  • Supports message correlation
  • Supports exception handling
  • Supports transaction integrity by transactional
    contexts
  • Supports dynamic collaboration

17
Web Service Choreography Interface
  • Supports basic activities
  • - Action tag defines requests response
  • - Call tag invokes external services
  • Supports structured activities
  • - loop, sequence, parallel, etc.

18
Web Service Choreography Interface
  • WSCI only observe abstract process
  • between web services

19
Relationships
20
Case Study Model
21
Case Study on BPEL
  • Defines partners and their roles
  • ltpartnerLinksgt
  • ltpartnerLink name"Buyer"
  • partnerLinkType"porequestQuoteLinkType"
  • myRole"Purchaser" partnerRole"Requestor"/gt
  • ltpartnerLink name"Supplier1"
  • partnerLinkType"porequestQuoteLinkType"
  • myRole"Requestor" partnerRole"Purchaser"/gt
  • lt!Set up other suppliers used in this process gt
  • lt/partnerLinksgt

22
Case Study on BPEL
  • Defines variables
  • ltvariablesgt
  • ltvariable name"request"
  • messageType"porequest"/gt
  • ltvariable name"part_request
  • messageType"popart_request"/gt
  • ltvariable name"part_quote"
  • messageType"popart_quote"/gt
  • ltvariable name"proposal"
  • messageType"poproposal"/gt
  • lt/variablesgt

23
Correlation of BPEL
  • Correlate the requests by assign a unique quote
    and proposal identifier
  • ltcorrelationSetsgt
  • ltcorrelationSet name"Quote"
  • properties"corquoteID"/gt
  • ltcorrelationSet name"Proposal"
  • properties"corproposalID"/gt
  • lt/correlationSetsgt

24
BPEL Basic Structured Activities
  • ltsequencegt
  • ltreceive name"receive" partnerLink"Buyer"
    operation"request" variable"request"
    initiate"yes"gt
  • lt/receivegt
  • ltflow name"supplier_flow"gt
  • ltinvoke name"quote_supplier1" partnerLink"Suppli
    er1"
  • operation"request_quote" inputVariable"part_req
    uest"
  • outputVariable"part_quote"gt
  • lt/invokegt
  • lt!invoke other suppliers as part of the
    processgt
  • lt/flowgt
  • ltreply name"reply" partnerLink"Buyer"
  • operation"send_proposal variable"proposal"gt
  • lt/replygt
  • lt/sequencegt

25
Exception handling of BPEL
  • If error occurs in contacting a supplier, the
    agent sends a message to the buyer.
  • ltfaultHandlersgt
  • ltcatch faultName"cantFulfillRequest"gt
  • ltinvoke partnerLink"buyer"
  • operation"sendError"
  • inputVariable"fault"/gt
  • lt/catchgt
  • lt/faultHandlersgt

26
Transaction Integrity of BPEL
  • Compensation handlers
  • E.g. if the agent cannot contact a supplier, the
    process must offer a way to roll back the order.

27
Class Discussion
  • Which process design requirements does BPEL meet?
    How?

28
My Conclusion
  • Correlation
  • Assign unique identifiers and use
    ltcorrelationSetgt
  • Supports asynchronous calls by declaring
    partnerLinkTypes to define what port types are
    used to send and/or receive messages on
  • Exception handling Fault handler catch exception
  • Transaction Integrity use ltscopegt for
    compensation transactions use
  • Flexibility orchestration engine(IBM alpha
    Works, Collaxa)
  • Recursive Composition see next question

29
Class Discussion
  • Does BPEL support recursive Web service
    composition?

30
BPEL Recursive Composition
  • Through the use of WSDL to denote the public
    interface
  • BPEL orchestrates multiple Web services into a
    Web service, published by WSDL
  • Subsequently can be orchestrated into another
    BPEL
  • External. Done through the public interface
Write a Comment
User Comments (0)
About PowerShow.com