Contenu connexe Similaire à Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service and Resource Bus (20) Plus de Tammo van Lessen (6) Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service and Resource Bus1. 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‐stuttgart.de
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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. Thank you for your attention!
Any Questions?
© Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann 15