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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend