WSMED provides a web service query mediation system that allows users to query web services using SQL without programming. It automatically parallelizes queries by creating an adaptive parallel query plan using AFF_APPLYP. This operator builds a process tree to invoke web services in parallel and adapts the tree at runtime based on monitoring execution times to optimize performance without a static cost model. Experimental results show the adaptive parallelization can speed up expensive queries over 4x compared to sequential execution. Future work includes handling more complex query plans and establishing benchmarks to further evaluate parallel web service invocation strategies.
1. Web Service Query Service Manivasakan Sabesan and Tore Risch Uppsala DataBase Laboratory Dept. of Information Technology Uppsala University Sweden
2.
3.
4. Service Oriented Architecture of WSMED WSMED Server SQL View 1 WSDL metadata 1 WS Operation 1 WS Operation p WS Operation 1 WS Operation q WS 1 WS n WSDL metadata n Import metadata SQL View m IMPORTWSDL AUTHENTICATION QUERY EXIT_S INIT WSMED Web Service Interface TABLEINFO SOAP call
5.
6.
7.
8.
9.
10. Query Processing in WSMED Parallel query plan SQL query Calculus Generator Parallel pipeliner Plan function generator Non-parallel plan optimizer Plan splitter Phase 1 Phase 2 Non-parallel plan
11. Split point 1 Split point 2 PF 1 PF 2 Non-Parallel Plan γ GetPlacesWithin(‘Atlanta’, state, 15.0, ‘City’) <City, TypeId> γ GetPlaceList (str, 100, ‘true’) γ GetAllStates() < state > <city , state2 > γ concat(city,’, ‘, state2) <str>
12. Adaptive Parallel Plan <str> < state > AFF_APPLYP( PF 2 , str ) <City, TypeId> γ GetAllStates() AFF_ APPLYP( PF 1 , state )
13. Parallel Process Tree q i - query process (i=0,1,......n) PF j - Plan Function (j=1,......m) Level 2 q0 q1 q3 q4 q2 GetAllStates q5 q8 q7 q6 Coordinator Level 1 Query PF 1 GetPlaceList GetPlacesWithin PF 2
14.
15.
16. .......... 2. A monitoring cycle for a non-leaf query process is defined when number of received end-of-call messages equal to number of children. 2.1 After the first monitoring cycle A FF_APPLYP adds p new child processes - an add stage . 3. When an added node has several levels of children, the init stages of A FF_APPLYP s in the children will produce a binary sub–tree . q0 q1 q3 q4 q2 q5 Coordinator Level 1 q7 q9 q8 q10 Level 2 q6 q11
17. ...... 4. A FF_APPLYP records per monitoring cycle i the average time t i to produce an incoming tuple from the children. 4.1 If t i decreases more than a threshold ( 25% ) the add stage is rerun. 4.2 If t i increases we either add no more children or run a drop stage that drops one child and its children. q0 q1 q3 q4 q2 q5 Coordinator Level 1 q12 q10 Level 2 q6 q11
A common need to search information through data providing web services , with out any side effects, returning set of objects for a given set of parameters.
A software system designed for supporting machine-to-machine interaction over a network. We have developed a system , WSMED, provides general query capabilities over data accessible through web services by reading WSDL meta-data descriptions. WSDL url is given to import meta data to its local store. While importing the meta data it automatically creates SQL views to make web service operation query able WSMED is providing a web service to query arbitrary data providing web services. INIT- to inialize a user session. Importwsdl- to consume a webservice user need to give wsdl url and OWFs for ws operations are automatically created. TABLEINFO operation provides information about the SQL view over a given web service operation. In, out, datatypes AUTHENTICATION operation provides authentication information for web service operations that so require accepts SQL queries to the generated views by the QUERY operation : users can make SQL queries , considering these SQL views, calling any date web service without any programming. EXIT_S to exit a user session. User need not to install any software or harwareware setups to utilize the web service.
To illustrate the system we have developed WSMED demo It confirm every thing as a service paradigm wsmed.wsdl-show all operations Importwsdl-placelookup Tableinfo, authentication Query – select name from GetAllStates
The views can be queried with SQL GetAllSates & GetPlacesWithin with GeoPlaces web service- GetPlaceList with Terraweb service Our queries are concerning data from data providing web service- sql quite natural to express the queries and still popular around Go to demo Import terraservice and execute query
Central plan – heuristic cost model- web service signature- assuming web service call is expensive Sequential execution is slow.
γ applies a plan function for a given parameter tuple
Multilevel execution plans generated with several layers of parallelism – process tree fanout central query plan to parallel query plan coordinator initiates communication between child processes and ships plan functions. Then it stream of different parameter tuples results delivered as streams from child processes
End of call message
For different queries P, fanoutvalues may varies according to the execution time of a web service operations involved. Therefore this adptive approach is very useful.