Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service and Resource Bus


Published on

Presentation given at the International Conference on Web Services (ICWS) 2009 in Los Angeles, CA

Published in: Technology, Education, Business
  • Be the first to comment

  • Be the first to like this

Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service and Resource Bus

  1. 1. Virtualizing Services and Resources with ProBus:  The WS‐Policy‐Aware Service and Resource Bus Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann Institute of Architecture of Application Systems (IAAS) University of Stuttgart Universitätsstr. 38 70569 Stuttgart Germany tammo.van.lessen@iaas.uni‐
  2. 2. The Talk Today Motivation and Introduction Classification of WS‐Policy based Service  Selection The ProBus approach for Web Services The ProBus approach for WS‐Resources Architecture & Implementation Conclusions & Outlook © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 2
  3. 3. Service/Resource Selection Service  Registry find publish Service  Service  Requestor bind Provider WS‐Policy provides a promising approach to Web service/Resource  selection based on non‐functional properties. Established approaches are quite cumbersome and not as easy as they  could be. We have identified 3 classes of WS‐Policy based service selection. © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 3
  4. 4. Classes of WS‐Policy based Service Selection Class 1: Manual Service Selection Advantages: Easy to use, no “magic” involved. Disadvantages: inflexible, not really loosely coupled © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 5
  5. 5. Classes of WS‐Policy based Service Selection Class 2: Policy Based Service Selection Advantages: more flexible Disadvantes: Additional components are needed on  client‐side (for “find” and “select”) © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 6
  6. 6. Classes of WS‐Policy based Service Selection Class 3: The ProBus approach Advantages: easy to use, “make it happen” semantics,  more flexibility as the bus is aware of any conversations © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 7
  7. 7. Sample Request <soap:Envelope ...> <soap:Header> <rb:requiredPolicy> <wsp:Policy> <wsp:ExactlyOne> <wsp:All> <prn:printer prn:maxCostPerPage="$0.3"/> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> </rb:requiredPolicy> </soap:Header> <soap:Body> <!-- Payload of the message --> </soap:Body> </soap:Envelope> © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 8
  8. 8. Post‐Processing Rules When only the bus takes care of policy matchmaking,  it must be aware of domain‐specific details E.g. “There is a match when costPerPage of a printer is  less or equal to a given amount” XPath‐based post‐processor <rb:XPathRules rb:assertionQName="prn:printer" ...> <rb:Rule> $reqAssertion/@prn:maxCostPerPage <= $provAssertion/@prn:maxCostPerPage </rb:Rule> <!-- additional rules for this assertion --> </rb:XPathRules> © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 9
  9. 9. Using ProBus for Dynamic Resource Selection Sample Scenario: Printer Selection © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 10
  10. 10. How to apply the ProBus approach to WSRF Defining Policies Relating to Resource Properties New WS‐Policy assertion type: resource property  condition Resource Property Document <prn:Printer> <prn:waitingQueue>10</prn:waitingQueue> <prn:costPerPage>0.03</prn:costPerPage> <!--other resource properties --> </prn:Printer> <wsp:Policy ...> Request Policy <wsp:ExactlyOne> <wsp:All> <!-- some assertions --> <rb:resourcePropertyCondition rb:type="prn:printer"> <rb:XPath rb:propertyQName="prn:waitingQueue"> number(prn:waitingQueue/text()) <10 </rb:XPath> </rb:resourcePropertyCondition> <!-- more assertions --> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 11
  11. 11. How to apply the ProBus approach to WSRF Conversations Resources are stateful, hence the EPR is important for  subsequent requests Dynamic Resource Management Annotations for factory operations Exception Handling “What happens, if a resource is not available (anymore)?” New fault type: noSuitableResourceFound © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 12
  12. 12. Architecture and Implementation Implementation based on Apache ServiceMix Policy‐aware message routing Pluggable processors for post‐processing rules Deployment support for policies, post‐processing rules and  resource factory descriptors © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 13
  13. 13. Conclusions and Outlook Conclusions One‐step service/resource selection completely decouples  service providers and service consumers XPath‐based post‐processing rules allow for fine‐granular  domain‐specific policy matchmaking WS‐Policy can be used in conjunction with WSRF and  helps to easily discover suited resources for a particular  request Future Work We plan to combine ProBus with a BPEL engine in order to  define dynamic policy‐based provisioning workflows on  standard based SOA infrastructures We investigate how ProBus can help to achieve better fail‐ over behaviors © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 14
  14. 14. Thank you for your attention! Any Questions? © Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 15
  15. 15. End of Document