behavioral contracts and service substitutability
play

Behavioral Contracts and Service Substitutability: A Contribution - PowerPoint PPT Presentation

1 Behavioral Contracts and Service Substitutability: A Contribution to Dependable SOA Haldor Samset and Rolv Brk, Norwegian University of Science and Technology NTNU, Department of Telematics NTNU, June 2008 Dependable SOA 2 What is


  1. 1 Behavioral Contracts and Service Substitutability: A Contribution to Dependable SOA Haldor Samset and Rolv Bræk, Norwegian University of Science and Technology – NTNU, Department of Telematics NTNU, June 2008 Dependable SOA

  2. 2 What is a service? A service is: an identified functionality aiming to establish some goals/effects among collaborating entities. Captures: • end user services • active services • passive services • component interfaces (Web Services, CORBA, JINI, …) C1 C2 Cn • layered functionality (ISO OSI) Layer n Layer n-1 Dependable SOA

  3. 3 Service fundamentals: • Service is functionality ; it is behavior performed by entities. • Service imply collaboration; it makes no sense to talk about service unless at least two entities collaborate. • Service behavior is cross-cutting ; it imply coordination of two or more entity behaviors • Service behavior is partial ; it is to be composed with other services Dependable SOA

  4. 4 Service modeling using UML 2 collaborations Vertical composition (within an actor) service 1 Service 1 Service 1 service 2 Service 2 Service 2 r2 r1 Horizontal Service 3 Service 3 r3 composition (within a service) Actor1 Actor1 Actor2 Actor2 Actor3 Actor3 Actor4 Actor4 Actor5 Actor5 • Matches the concept of service: Collaborative ; Cross- cutting ; Partial ; Functionality • Can model services separately in terms of role structures and behaviours • Allows flexibility in binding roles to classes • Require conformance between roles and classes • Can model interfaces and contracts as two-party collaborations Dependable SOA

  5. 5 Collaboration as behavior contract: example Dependable SOA

  6. 6 Collaboration as behavior contract: • Two connected roles with – Static interfaces – Interface behaviors • Connector properties – Asynchronous or synchronous – Bidirectional or unidirectional • Modelchecked to ensure compatibility between roles • Publishable using WSDL Dependable SOA

  7. 7 Using contract roles to type interfaces Sq:StockQuote <<Requests>> <<Provides>> Stock Application Info requestor provider Server Sq:StockQuote • Compatibility of contract roles modelchecked at design time • Conformance with contract checked for each interface at design time • Simple compatibility assurance at runtime Dependable SOA

  8. 8 Conformance with contract Compare Compare <<Requests>> <<Provides>> Stock Project Project Info Application Server 1. Project component behavior to interface behavior 2. Compare interface behavior with contract role behavior: are they equivalent or substitutable? Dependable SOA

  9. 9 An extended contract Dependable SOA

  10. Dependable SOA Sq:StockQuoteandNews With additional behavior Sq:StockQuote 10

  11. 11 Safe substitution: equivalent reachable behavior <<Substitutes>> Sq:StockQuote Sq:StockQuoteandNews Dependable SOA

  12. 12 Safe substitution • Verified once at design time • Simple checks at run time Dependable SOA

  13. 13 Summing up • Contracts are modelchecked collaborations • Conformance ensured by projection and role comparison • Run-time efficient Registry compatibility assurance • For active and passive services • A basis for meaningful lookup Dependable SOA

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