dynamic web service selection for workflow optimisation lican huang, david w. walker, yan huang,...
TRANSCRIPT
![Page 1: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/1.jpg)
Dynamic Web Service Selection for Workflow
Optimisation
Lican Huang, David W. Walker,
Yan Huang, Omer F. Rana
Presented by Lican Huang
School of Computer Science, Cardiff University
AHM2005 21 Sept, 2005
![Page 2: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/2.jpg)
Outline
•Introduction
• Framework
• Implementation
•Conclusion & Future work
AHM2005 21 Sept, 2005
![Page 3: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/3.jpg)
WOSE Project (Workflow Optimisation Services for e-Science Applications)
Funded by the EPSRC
Cardiff University, Imperial College and Daresbury Laboratory
Primary investigator: David.W.Walker
.
Introduction--background
AHM2005 21 Sept, 2005
![Page 4: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/4.jpg)
Introduction-- motivation
(1)Multiple copies of a service with different performance or other user defined set of criteria; and these services cannot be selected at design time because their performance is not known at that time.
(2)workflow optimisation by selecting optimal web services at run-time and integrating dynamic selection of web service into workflow
(2) fault-tolerance by trying a set of candidates of services
(3) Logging data for analysis of workflow results
AHM2005 21 Sept, 2005
![Page 5: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/5.jpg)
Introduction-- Issues of concern
(1) mechanisms to discover, select and invoke Web services dynamically
(2) mechanisms to optimize workflow by integrating the selection of service into workflow
AHM2005 21 Sept, 2005
![Page 6: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/6.jpg)
Framework --Architecture of dynamic Web services selection for workflow optimisation
AHM2005 21 Sept, 2005
Discovery Service
History Database
Registry (UDDI)
Monitoring Tool
Optimization Service
Proxy Service
Monitor service
![Page 7: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/7.jpg)
Framework --Message sequence of workflow incorporating dynamic Web Service selection
AHM2005 21 Sept, 2005
Optimisation Service
5. List of services
6. Selected service
Workflow script
Workflow deploy
XSLT converter
2. Dynamic invocation through proxy
9. Result through proxy
3. Service query
4. List of services
7. Invoke service
8. Result
Discovery Service
Proxy Service
1. Request 2A. Direct invocation
3A. Direct result
10. Result
Web serviceWorkflow
engineWOSE client
![Page 8: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/8.jpg)
Framework– proxy as adaptor of dynamic selected service
AHM2005 21 Sept, 2005
Service A
Proxy service
Service C
Service B1
Service B2
Service B3
Service B4
Service B5
![Page 9: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/9.jpg)
Framework– proxy service
• Proxy service
• Discovery service
• Optimisation service
• monitor service
• Dynamic invocation service
AHM2005 21 Sept, 2005
![Page 10: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/10.jpg)
Framework– proxy service interface
<wsdl:message name ="ServiceProxyResponse"> <wsdl:part name ="ServiceProxyReturn" type="xsd:string" /> </wsdl:message><wsdl:message name = "ServiceProxyRequest"> <wsdl:part name ="servicemeta“ type="xsd:string"/> <wsdl:part name ="querymethod" type="xsd:string" /> <wsdl:part nam =" optimizationMETA " type="xsd:string"/> <wsdl:part name ="optimizationMode" type="xsd:string“/> <wsdl:part name ="operation" type="xsd:string" /> <wsdl:part name ="parameters“ type="xsd:string" /> </wsdl:message>
AHM2005 21 Sept, 2005
![Page 11: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/11.jpg)
Framework– fault-tolerance and logging
AHM2005 21 Sept, 2005
Public String ServiceProxy(…){ Set values of uddiregistries; Servicelist = discoveryService(… ); While (true) { Service= Optimizationservice(Servicelist); If result =dynamicInvoke(service) fails{ Updates fail-timestamp in Database; Logging; } else { Update average_response_time in database; Logging; Stop; } } Return result; }
![Page 12: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/12.jpg)
Framework– discovery service interface
<wsdl:message name="ServiceDiscoveryResponse"> <wsdl:part name="ServiceDiscoveryReturn" type="xsd:string" /> </wsdl:message> <wsdl:message name="ServiceDiscoveryRequest"> <wsdl:part name="servicemeta" type="xsd:string" /> <wsdl:part name="querymethod" type="xsd:string" /> <wsdl:part name="uddiregistries" type="xsd:string" /> </wsdl:message>
AHM2005 21 Sept, 2005
Function: From UDDI registries to get list of semantic equal services
![Page 13: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/13.jpg)
Framework– discovery methods
Public string ServiceDiscovery (String servicemeta, querymethod, String uddiregistries){Switch querymethod Case byNAME Look up the matched service name in uddiregistry(ies) Case byMETA Look up the matched metadata in the description entity of businessService entity of uddiregistry(ies). Case byONTOLOGY Look up the URL of semantic definition XML File and matchmake the semantically equivalent service. }
AHM2005 21 Sept, 2005
![Page 14: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/14.jpg)
Framework– discovery by name
•Typically used where services are registered by the same business entity but with different access points .
•No extensions are needed to the information contained in the UDDI registry
AHM2005 21 Sept, 2005
![Page 15: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/15.jpg)
Framework– discovery by metadata UDDI extensions
The byMETA method would typically be used where all service providers conform to a particular metadata specification, and have the ability to publish their own services in the UDDI registries.
AHM2005 21 Sept, 2005
![Page 16: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/16.jpg)
Framework– discovery by metadata UDDI extensions
<businessService serviceKey =”37B49950-90A0-11D9-9950- BB91FEE6D433” businessKey = “5D4F01A0-8FE2-11D9-81A0-832EB7272640” > <name>blastallservice</name> <description> <wosemeta serviceName= “blastallservice" serviceID="1239-3514-6196-8373"/> </wosemeta> </description> <description> <wosemeta operationName =“serviceblastall" operationID="1351-3612-7812-9156"> <inputype>string</inputtype> <outputtype>string</outputtype> </wosemeta> </description> … </businessService>
AHM2005 21 Sept, 2005
![Page 17: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/17.jpg)
Framework– discovery by ontology
The byONTOLOGY method is used to query all semantically equivalent services by semantic matchmaking. This would typically be used where there are many service providers who publish the services according to the schema encoded in a service ontology. The service providers are loosely connected or without any relationship.
AHM2005 21 Sept, 2005
![Page 18: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/18.jpg)
Framework– discovery by ontology UDDI extensions
<<businessService serviceKey =”14E69DE0-D28D-11D90-80990AF8150A” businessKey = “7D92E5E0-D1C2-11D9-A5E0-CF2D2BB38AE7” > <name>blastallservice</name> <description> <woseOntology> http://131.251.47.147:8080/axis/blastall.xml </woseOntology> </description> … </businessService>
AHM2005 21 Sept, 2005
![Page 19: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/19.jpg)
Framework– optimisation service interface
<wsdl:message name="ServiceOptimizationRequest"> <wsdl:part name="serviceURL" type="xsd:string" /> <wsdl:part name="optimizationMode" type="xsd:string" /> <wsdl:part name="optimizationMETA" type="xsd:string" /> </wsdl:message><wsdl:message name="ServiceOptimizationResponse"> <wsdl:part name="ServiceOptimizationReturn" type="xsd:string" /> </wsdl:message>
AHM2005 21 Sept, 2005
Function: selecting the optimal service from the list of semantically equivalent services based on the criteria for optimization.
![Page 20: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/20.jpg)
Framework– optimisation service uddi extensions
<wsdl:message name="ServiceOptimizationRequest"> <wsdl:part name="serviceURL" type="xsd:string" /> <wsdl:part name="optimizationMode" type="xsd:string" /> <wsdl:part name="optimizationMETA" type="xsd:string" /> </wsdl:message><wsdl:message name="ServiceOptimizationResponse"> <wsdl:part name="ServiceOptimizationReturn" type="xsd:string" /> </wsdl:message>
AHM2005 21 Sept, 2005
![Page 21: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/21.jpg)
Framework– monitor service interface
- <wsdl:message name="servicemonitorRequest"> <wsdl:part name="monitorType" type="xsd:string" /> </wsdl:message>- <wsdl:message name="servicemonitorResponse"> <wsdl:part name="servicemonitorReturn" type="xsd:string" /> </wsdl:message>
AHM2005 21 Sept, 2005
Function: Get CPU load and CPU speed of the computer
![Page 22: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/22.jpg)
Framework– optimisation criteria
- performance factor= (1- CPU load)*CPU_speed/1000
AHM2005 21 Sept, 2005
![Page 23: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/23.jpg)
Framework– optimisation service
-Performance {-While ( service in servicelist)-{ - performance_factor= monitorservice(); if (performance_factor_max< performance_factor) performance_factor_max = performance_factor; } return service location with max performance_factor}
AHM2005 21 Sept, 2005
![Page 24: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/24.jpg)
Framework– optimisation modes
Public string ServiceOptimization (String serviceURL, String optimizationMode, String optimizationMETA){ Swith optimizationMode Case byPERFORMANCE Look up real-time computer load,etc. and history data. Case byTRUST Look up the trustworthiness of the services. Case byPersonalization Look up the user defined set of criteria }
AHM2005 21 Sept, 2005
![Page 25: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/25.jpg)
Implementation– environment
Operation systems: linux, windowsWeb service container: Tomcat + AXISWorkflow engine: ActiveBEPLWorkflow languages: SCUFL, BPEL4WSDatabase: mySQLUDDI: JUDDI at Welsh e-Science CentreMachines: ygrid01, ygird01, ygrid03,ygrid04,ygrid05,ygrid06,(linux) desktop linux, laptop windows
AHM2005 21 Sept, 2005
![Page 26: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/26.jpg)
Implementation – example
AHM2005 21 Sept, 2005
![Page 27: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/27.jpg)
Implementation– request
AHM2005 21 Sept, 2005
![Page 28: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/28.jpg)
Implementation– result
AHM2005 21 Sept, 2005
![Page 29: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/29.jpg)
Implementation– monitor logging data
CCGrid2005 Wip section12 May, 2005
![Page 30: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/30.jpg)
Implementation– proxy service logging data
CCGrid2005 Wip section12 May, 2005
![Page 31: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/31.jpg)
Conclusion
AHM2005 21 Sept, 2005
1. Present framework for dynamic web service selection within a workflow session
2. Proxy service as adaptor of dynamic selected service
3. Strategy for discovering service by UDDI extensions.
4. Performance service selects optimal service among services by getting real-time data with monitoring service
5. Implementation of the framework
![Page 32: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/32.jpg)
Future work
AHM2005 21 Sept, 2005
1. Optimisation model 2. Discovery service by ontology
method
![Page 33: Dynamic Web Service Selection for Workflow Optimisation Lican Huang, David W. Walker, Yan Huang, Omer F. Rana Presented by Lican Huang School of Computer](https://reader035.vdocuments.net/reader035/viewer/2022070306/5515ece0550346cf6f8b520e/html5/thumbnails/33.jpg)
AHM2005 21 Sept, 2005
Thanks
Questions?