contract based discovery and composition of web services
play

Contract-Based Discovery and Composition of Web Services Gianluigi - PowerPoint PPT Presentation

Contract-Based Discovery and Composition of Web Services Gianluigi Zavattaro zavattar@cs.unibo.it Department of Computer Science http://cs.unibo.it/~zavattar University of Bologna joint work with Mario Bravetti Contracts [FHRR04][CCLP06]


  1. Contract-Based Discovery and Composition of Web Services Gianluigi Zavattaro zavattar@cs.unibo.it Department of Computer Science http://cs.unibo.it/~zavattar University of Bologna joint work with Mario Bravetti

  2. Contracts [FHRR04][CCLP06]  Contract: service “behavioural interface” that describes  not only the signature public registry of the provided Contract: operations abstract service (as in WSDL) description  but also the expected order of invoke and receive Service (as in abstract WS-BPEL) Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  3. Choreographies and contracts Choreography: description of the behaviour e.g. WS-CDL of the participants in a multi-party service composition e.g. [CHY07] projection projection Contract: Contract: abstract service abstract service … description description Participant 1 Participant n Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  4. Discovery of required contracts: directly in registries… ? Choreography projection projection public registry public registry Contract Contract … required for required for Participant 1 Participant n … Service Service Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  5. Contract refinement Choreography Contract Part. 1 Contract Part. n … refines refines public registry public registry … Contract Contract Reciprocal invocations … Service Service Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  6. An example…  Buyer-Seller-Bank choreography Seller Request Offer Buyer PayDescr Confirm Payment Receipt Bank Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  7. An example… (more formally) Request Buyer  Seller ; ( Offer Seller  Buyer | PayDescr Seller  Bank ) ; Payment Buyer  Bank ; ( Confirm Bank  Seller | Receipt Bank  Buyer ) Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  8. Projection of the Choreography on the Single Participants Buyer: Invoke(Request)@Seller;Receive(Offer); Invoke(Payment)@Bank;Receive(Receipt) Seller: Receive(Request); (Invoke(Offer)@Buyer | Invoke(PayDescr)@Bank); Receive(Confirm) Bank: Receive(PayDescr);Receive(Payment); (Invoke(Receipt)@Buyer | Invoke(Confirm)@Seller) Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  9. Contract Refinement  Can we use a concrete MonteDeiPaschi service: Receive(PayDescr);Receive(Payment); (Invoke(Receipt)@Buyer | Invoke(Confirm)@Seller) + Receive(eBookStore); …. to implement the Bank role? Receive(PayDescr);Receive(Payment); (Invoke(Receipt)@Buyer | Invoke(Confirm)@Seller) Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  10. Contract Refinement Choreography Contract Part. 1 Contract Part. n … refines refines public registry public registry … Contract Contract Reciprocal invocations … Service Service Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  11. Choreography Conformance Choreography is conformant for is conformant for participant 1 to participant n to public registry public registry … Contract Contract Reciprocal invocations … Service Service Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  12. Choreography Conformance  Can we use a concrete MonteDeiPaschi service: Receive(PayDescr);Receive(Payment); (Invoke(Receipt)@Buyer | Invoke(Confirm)@Seller) + Receive(eBookStore); …. to implement the Bank role in the choreography? Request Buyer  Seller ;(Offer Seller  Buyer | PayDescr Seller  Bank ); Payment Buyer  Bank ;(Confirm Bank  Seller | Receipt Bank  Buyer ) Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  13. Plan of the talk  Preliminaries  Choreography, contract, refinement, conformance  Compliance-preserving refinement  General case (negative result)  Output persistence, located outputs  Choreography conformance ( negative result)  Consonance  Alternative notions of compliance  Strong compliance, queue-based compliance  Conclusion Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  14. Plan of the talk  Preliminaries  Choreography, contract, refinement, conformance  Compliance-preserving refinement  General case (negative result)  Output persistence, located outputs  Choreography conformance ( negative result)  Consonance  Alternative notions of compliance  Strong compliance, queue-based compliance  Conclusion Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  15. Compliance-Preserving Contract Refinement compliant (i.e. correct composition) Contract Part. 1 Contract Part. n … refines refines compliance public registry preserved by public registry refinement … Contract Contract Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  16. A formal (language independent) model for contracts  Services publish their interface expressed in terms of a contract “C” in UDDI-like registries  Operational semantics: Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  17. Contract composition  A composition of contracts can be represented by the syntax:  Operational semantics: Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  18. Correct compositions: informally  The composition [C 1 ]|[C 2 ] is correct for the following compliant contracts: Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  19. Correct compositions: formally  A contract composition is correct if all contracts always reach successful termination (under fairness assumption) Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  20. Refinement: Subcontract Preorder  Preorder ≤ between contracts C :  C’ ≤ C means C’ is a subcontract of C C subcontract preorder sub-contracts of C Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  21. Definition of Preorder Induced from Independence Property Given a correct composition with initial contracts: … C 1 C 2 C n subcontract preorder sub-contracts sub-contracts sub-contracts of C n of C 1 … of C 2 … C’ 1 C’ 2 C’ n The composition is still correct after (independent) replacement of initial contracts with subcontracts Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  22. Singular Refinement is Implied  In particular (since ≤ is a preorder, it is reflexive, i.e. C i ≤ C i ): C’ i ≤ C i implies C’ i must comply with the other initial contracts C 1 ,…,C i-1 ,C i+1 , …,C n Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  23. Buyer-Seller-Bank example strikes back…  Remember that for the Bank: Receive(PayDescr).P + Receive(eBookStore).Q should be a refinement for Receive(PayDescr).P (this because we assumed that eBookStore was not invoked from Buyer and Seller)  This kind of refinement requires knowledge about input-output alphabets of the considered contracts! Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  24. Exploiting Knowledge About Interface of Initial Contracts  Formally, we parametrize subcontract preorders with information about what we assume  outputs O : operations that can be invoked by the other initial contracts  inputs I : operations that can be received by the other initial contracts We write C’ ≤ I,O C  Such a knowledge is usable in independent retrieval because it can be extracted from the initial contracts before starting the independent retrieval phase Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  25. Negative result  We cannot define a “refinement” as the maximal subcontract pre-order!  Consider the system [ a ] | [ a ] : we could have a preorder ≤ ’ for which a + b.0 ≤ ’ N -{b}, N -{b} a and a preorder ≤ ’’ for which a + b ≤ ’’ N -{b}, N -{b} a but no preorder ≤ could have both a + b.0 ≤ N -{b}, N -{b} a a + b ≤ N -{b}, N -{b} a Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  26. Plan of the talk  Preliminaries  Choreography, contract, refinement, conformance  Compliance-preserving refinement  General case (negative result)  Output persistence , located outputs  Choreography conformance ( negative result)  Consonance  Alternative notions of compliance  Strong compliance, queue-based compliance  Conclusion Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

  27. Output persistence  Assume that services are programmed with languages in which external choices are guarded by inputs (such as in the pick operator of WS-BPEL)  Their contracts satisfies the following output persistence property: b a √ a Contract-Based Discovery and Composition of Web Services SFM09:WS - Bertinoro - 5.6.2009

Recommend


More recommend