dynamic web service selection for workflow optimisation
Download
Skip this Video
Download Presentation
Dynamic Web Service Selection for Workflow Optimisation

Loading in 2 Seconds...

play fullscreen
1 / 33

Dynamic Web Service Selection for Workflow Optimisation - PowerPoint PPT Presentation


  • 121 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Dynamic Web Service Selection for Workflow Optimisation ' - agostino-kearns


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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

outline

Outline

  • Introduction
  • Framework
  • Implementation
  • Conclusion & Future work

21 Sept, 2005

AHM2005

slide3

Introduction--background

WOSE Project (Workflow Optimisation Services for e-Science Applications) Funded by the EPSRCCardiff University, Imperial College and Daresbury LaboratoryPrimary investigator: David.W.Walker .

21 Sept, 2005

AHM2005

slide4

Introduction--motivation

  • 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.
  • workflow optimisation by selecting optimal web services at run-time and integrating dynamic selection of web service into workflow
  • fault-tolerance by trying a set of candidates of services
  • Logging data for analysis of workflow results

21 Sept, 2005

AHM2005

slide5

Introduction--Issues of concern

  • mechanisms to discover, select and invoke Web services dynamically
  • mechanisms to optimize workflow by integrating the selection of service into workflow

21 Sept, 2005

AHM2005

slide6

Proxy Service

Registry (UDDI)

Discovery Service

History Database

Monitoring Tool

Optimization Service

Framework --Architecture of dynamic Web services selection for workflow optimisation

Monitor service

21 Sept, 2005

AHM2005

slide7

Workflow script

XSLT converter

Workflow deploy

WOSE client

Workflow engine

Web service

Proxy Service

Discovery Service

Optimisation Service

2A.Direct invocation

1. Request

3A.Direct result

3. Service query

2. Dynamic invocation through proxy

4.List of services

5. List of services

7.Invoke service

6.Selected service

8. Result

10. Result

9. Result through proxy

Framework --Message sequence of workflow incorporating dynamic Web Service selection

21 Sept, 2005

AHM2005

slide8

Framework– proxy as adaptor of dynamic selected service

Service A

Service B1

Service B2

Proxy service

Service B3

Service B4

Service C

Service B5

21 Sept, 2005

AHM2005

slide9

Framework– proxy service

  • Proxy service
    • Discovery service
    • Optimisation service
      • monitor service
    • Dynamic invocation service

21 Sept, 2005

AHM2005

slide10

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>

21 Sept, 2005

AHM2005

slide11

Framework– fault-tolerance and logging

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;

}

21 Sept, 2005

AHM2005

slide12

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>

Function: From UDDI registries to get list of semantic equal services

21 Sept, 2005

AHM2005

slide13

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

21 Sept, 2005

AHM2005

slide14

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

21 Sept, 2005

AHM2005

slide15

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

slide16

Framework– discovery by metadata UDDI extensions

  • <businessServiceserviceKey =”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

slide17

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

slide18

Framework– discovery by ontology UDDI extensions

  • <<businessServiceserviceKey =”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

slide19

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>

Function: selecting the optimal service from the list of semantically

equivalent services based on the criteria for optimization.

AHM2005

21 Sept, 2005

slide20

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

slide21

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>

Function: Get CPU load and CPU speed of the computer

21 Sept, 2005

AHM2005

slide22

Framework– optimisation criteria

-

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

21 Sept, 2005

AHM2005

slide23

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
  • }

21 Sept, 2005

AHM2005

slide24

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

}

21 Sept, 2005

AHM2005

slide25

Implementation– environment

Operation systems: linux, windows

Web service container: Tomcat + AXIS

Workflow engine: ActiveBEPL

Workflow languages: SCUFL, BPEL4WS

Database: mySQL

UDDI: JUDDI at Welsh e-Science Centre

Machines: ygrid01, ygird01, ygrid03,ygrid04,ygrid05,ygrid06,(linux)

desktop linux, laptop windows

21 Sept, 2005

AHM2005

slide26

Implementation – example

AHM2005

21 Sept, 2005

slide27

Implementation– request

21 Sept, 2005

AHM2005

slide28

Implementation– result

21 Sept, 2005

AHM2005

slide29

Implementation– monitor logging data

CCGrid2005 Wip section

12 May, 2005

slide30

Implementation– proxy service logging data

CCGrid2005 Wip section

12 May, 2005

slide31

Conclusion

  • Present framework for dynamic web service selection within a workflow session
  • Proxy service as adaptor of dynamic selected service
  • Strategy for discovering service by UDDI extensions.
  • Performance service selects optimal service among services by getting real-time data with monitoring service
  • Implementation of the framework

21 Sept, 2005

AHM2005

slide32

Future work

  • Optimisation model
  • Discovery service by ontology method

21 Sept, 2005

AHM2005

slide33

Thanks

  • Questions?

21 Sept, 2005

AHM2005

ad