SlideShare uma empresa Scribd logo
1 de 15
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
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
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
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
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
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
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
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
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
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
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
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
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
Thank you for your attention!

                                                         Any Questions?



© Ralph Mietzner, Tammo van Lessen, Alexander Wiese, Matthias Wieland, Dimka Karastoyanova, and Frank Leymann   15
End of Document

Mais conteúdo relacionado

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

Service operator aware trust scheme for resource matchmaking across multiple ...
Service operator aware trust scheme for resource matchmaking across multiple ...Service operator aware trust scheme for resource matchmaking across multiple ...
Service operator aware trust scheme for resource matchmaking across multiple ...ieeepondy
 
ISP Connectivity Webinar: No Longer a Black Box
ISP Connectivity Webinar: No Longer a Black BoxISP Connectivity Webinar: No Longer a Black Box
ISP Connectivity Webinar: No Longer a Black BoxThousandEyes
 
Managing Enterprise Services through Service Versioning & Governance - Impact...
Managing Enterprise Services through Service Versioning & Governance - Impact...Managing Enterprise Services through Service Versioning & Governance - Impact...
Managing Enterprise Services through Service Versioning & Governance - Impact...Prolifics
 
Avoiding disaster recovery disasters
Avoiding disaster recovery disastersAvoiding disaster recovery disasters
Avoiding disaster recovery disastersAlexandra Matthiesen
 
The MTTR Chronicles: Evolution of SRE Self Service Operations Platform
The MTTR Chronicles: Evolution of SRE Self Service Operations PlatformThe MTTR Chronicles: Evolution of SRE Self Service Operations Platform
The MTTR Chronicles: Evolution of SRE Self Service Operations Platformjayank87
 
Risk Thinking for Cloud-Based Application Services
Risk Thinking for Cloud-Based Application ServicesRisk Thinking for Cloud-Based Application Services
Risk Thinking for Cloud-Based Application ServicesEric Bauer
 
Network Management and Flow Analysis in Today’s Dense IT Environments
Network Management and Flow Analysis in Today’s Dense IT EnvironmentsNetwork Management and Flow Analysis in Today’s Dense IT Environments
Network Management and Flow Analysis in Today’s Dense IT EnvironmentsSolarWinds
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Rick Hightower
 
High-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsHigh-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsRick Hightower
 
Summit 2009 performance-tuning_banner
Summit 2009 performance-tuning_bannerSummit 2009 performance-tuning_banner
Summit 2009 performance-tuning_bannerGreg Turmel
 
Bottlenecks exposed web app db servers
Bottlenecks exposed web app db serversBottlenecks exposed web app db servers
Bottlenecks exposed web app db serversUpender Dravidum
 
A scalable server architecture for mobile presence services
A scalable server architecture for mobile presence servicesA scalable server architecture for mobile presence services
A scalable server architecture for mobile presence servicesSree Chinni
 
Meetup Microservices Commandments
Meetup Microservices CommandmentsMeetup Microservices Commandments
Meetup Microservices CommandmentsBill Zajac
 
RabbitMQ Implementation as Message Broker in Distributed Application with RES...
RabbitMQ Implementation as Message Broker in Distributed Application with RES...RabbitMQ Implementation as Message Broker in Distributed Application with RES...
RabbitMQ Implementation as Message Broker in Distributed Application with RES...IJCSIS Research Publications
 
SWsoft Hosting Solutions for SaaS
SWsoft Hosting Solutions for SaaSSWsoft Hosting Solutions for SaaS
SWsoft Hosting Solutions for SaaSwebhostingguy
 

Semelhante a Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service and Resource Bus (20)

Service operator aware trust scheme for resource matchmaking across multiple ...
Service operator aware trust scheme for resource matchmaking across multiple ...Service operator aware trust scheme for resource matchmaking across multiple ...
Service operator aware trust scheme for resource matchmaking across multiple ...
 
ISP Connectivity Webinar: No Longer a Black Box
ISP Connectivity Webinar: No Longer a Black BoxISP Connectivity Webinar: No Longer a Black Box
ISP Connectivity Webinar: No Longer a Black Box
 
Managing Enterprise Services through Service Versioning & Governance - Impact...
Managing Enterprise Services through Service Versioning & Governance - Impact...Managing Enterprise Services through Service Versioning & Governance - Impact...
Managing Enterprise Services through Service Versioning & Governance - Impact...
 
Avoiding disaster recovery disasters
Avoiding disaster recovery disastersAvoiding disaster recovery disasters
Avoiding disaster recovery disasters
 
Avoiding disaster recovery disasters
Avoiding disaster recovery disastersAvoiding disaster recovery disasters
Avoiding disaster recovery disasters
 
The MTTR Chronicles: Evolution of SRE Self Service Operations Platform
The MTTR Chronicles: Evolution of SRE Self Service Operations PlatformThe MTTR Chronicles: Evolution of SRE Self Service Operations Platform
The MTTR Chronicles: Evolution of SRE Self Service Operations Platform
 
Risk Thinking for Cloud-Based Application Services
Risk Thinking for Cloud-Based Application ServicesRisk Thinking for Cloud-Based Application Services
Risk Thinking for Cloud-Based Application Services
 
Network Management and Flow Analysis in Today’s Dense IT Environments
Network Management and Flow Analysis in Today’s Dense IT EnvironmentsNetwork Management and Flow Analysis in Today’s Dense IT Environments
Network Management and Flow Analysis in Today’s Dense IT Environments
 
Presence cloud
Presence cloudPresence cloud
Presence cloud
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
Perf 101-lab-slideshare
Perf 101-lab-slidesharePerf 101-lab-slideshare
Perf 101-lab-slideshare
 
High-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsHigh-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulations
 
Summit 2009 performance-tuning_banner
Summit 2009 performance-tuning_bannerSummit 2009 performance-tuning_banner
Summit 2009 performance-tuning_banner
 
Chapter01.pdf
Chapter01.pdfChapter01.pdf
Chapter01.pdf
 
Bottlenecks exposed web app db servers
Bottlenecks exposed web app db serversBottlenecks exposed web app db servers
Bottlenecks exposed web app db servers
 
A scalable server architecture for mobile presence services
A scalable server architecture for mobile presence servicesA scalable server architecture for mobile presence services
A scalable server architecture for mobile presence services
 
Meetup Microservices Commandments
Meetup Microservices CommandmentsMeetup Microservices Commandments
Meetup Microservices Commandments
 
RabbitMQ Implementation as Message Broker in Distributed Application with RES...
RabbitMQ Implementation as Message Broker in Distributed Application with RES...RabbitMQ Implementation as Message Broker in Distributed Application with RES...
RabbitMQ Implementation as Message Broker in Distributed Application with RES...
 
Kartheek Resume
Kartheek ResumeKartheek Resume
Kartheek Resume
 
SWsoft Hosting Solutions for SaaS
SWsoft Hosting Solutions for SaaSSWsoft Hosting Solutions for SaaS
SWsoft Hosting Solutions for SaaS
 

Mais de Tammo van Lessen

SOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODESOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODETammo van Lessen
 
Facilitating Rich Data Manipulation in BPEL using E4X
Facilitating Rich Data Manipulation in BPEL using E4XFacilitating Rich Data Manipulation in BPEL using E4X
Facilitating Rich Data Manipulation in BPEL using E4XTammo van Lessen
 
Formalizing Message Exchange Patterns using BPEL light
Formalizing Message Exchange Patterns using BPEL lightFormalizing Message Exchange Patterns using BPEL light
Formalizing Message Exchange Patterns using BPEL lightTammo van Lessen
 
An Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business ProcessesAn Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business ProcessesTammo van Lessen
 
Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Tammo van Lessen
 

Mais de Tammo van Lessen (6)

SOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODESOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODE
 
Facilitating Rich Data Manipulation in BPEL using E4X
Facilitating Rich Data Manipulation in BPEL using E4XFacilitating Rich Data Manipulation in BPEL using E4X
Facilitating Rich Data Manipulation in BPEL using E4X
 
Formalizing Message Exchange Patterns using BPEL light
Formalizing Message Exchange Patterns using BPEL lightFormalizing Message Exchange Patterns using BPEL light
Formalizing Message Exchange Patterns using BPEL light
 
BPM meets Semantic Web
BPM meets Semantic WebBPM meets Semantic Web
BPM meets Semantic Web
 
An Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business ProcessesAn Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business Processes
 
Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0
 

Último

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Último (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

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

  • 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‐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
  • 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. 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