Dynamic Web Service Selection for Workflow Optimisation

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 Science, Cardiff University AHM2005 21 Sept, 2005

description

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. - PowerPoint PPT Presentation

Transcript of Dynamic Web Service Selection for Workflow Optimisation

Page 1: Dynamic  Web   Service Selection for  Workflow Optimisation

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

Outline

•Introduction

• Framework • Implementation

•Conclusion & Future work

AHM2005 21 Sept, 2005

Page 3: Dynamic  Web   Service Selection for  Workflow Optimisation

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

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

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

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

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 ServiceProxy Service

1. Request 2A. Direct invocation

3A. Direct result

10. Result

Web serviceWorkflow engineWOSE client

Page 8: Dynamic  Web   Service Selection for  Workflow Optimisation

Framework– proxy as adaptor of dynamic selected service

AHM2005 21 Sept, 2005

Service A

Proxy service

Service B

Service B1Service B2Service B3

Service B4

Service B5

Page 9: Dynamic  Web   Service Selection for  Workflow Optimisation

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

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

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

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

Page 13: Dynamic  Web   Service Selection for  Workflow Optimisation

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

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

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 16: Dynamic  Web   Service Selection for  Workflow Optimisation

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 17: Dynamic  Web   Service Selection for  Workflow Optimisation

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

Page 18: Dynamic  Web   Service Selection for  Workflow Optimisation

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 19: Dynamic  Web   Service Selection for  Workflow Optimisation

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

Get CPU load and CPU speed

Page 20: Dynamic  Web   Service Selection for  Workflow Optimisation

Framework– optimisation criteria

- performance factor= (1- CPU load)*CPU_speed/1000

AHM2005 21 Sept, 2005

Page 21: Dynamic  Web   Service Selection for  Workflow Optimisation

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 22: Dynamic  Web   Service Selection for  Workflow Optimisation

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 23: Dynamic  Web   Service Selection for  Workflow Optimisation

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 24: Dynamic  Web   Service Selection for  Workflow Optimisation

Implementation – example

AHM2005 21 Sept, 2005

Page 25: Dynamic  Web   Service Selection for  Workflow Optimisation

Implementation– request

AHM2005 21 Sept, 2005

Page 26: Dynamic  Web   Service Selection for  Workflow Optimisation

Implementation– result

AHM2005 21 Sept, 2005

Page 27: Dynamic  Web   Service Selection for  Workflow Optimisation

Implementation– monitor logging data

CCGrid2005 Wip section12 May, 2005

Page 28: Dynamic  Web   Service Selection for  Workflow Optimisation

Implementation– proxy service logging data

CCGrid2005 Wip section12 May, 2005

Page 29: Dynamic  Web   Service Selection for  Workflow Optimisation

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 30: Dynamic  Web   Service Selection for  Workflow Optimisation

Future work

AHM2005 21 Sept, 2005

1. Optimisation model 2. Discovery service by ontology

method

Page 31: Dynamic  Web   Service Selection for  Workflow Optimisation

AHM2005 21 Sept, 2005

Thanks

Questions?