Web Service Query Service Manivasakan Sabesan and Tore Risch Uppsala DataBase  Laboratory Dept. of Information Technology ...
Outline <ul><li>WSMED  </li></ul><ul><li>Research Area </li></ul><ul><li>Adaptive Query  Parallelization </li></ul><ul><li...
<ul><li>WSMED provides general query capabilities over  data providing  web services. </li></ul><ul><li>Users only need to...
Service Oriented Architecture of WSMED WSMED Server SQL View 1 WSDL metadata  1 WS Operation  1 WS Operation  p WS Operati...
WSMED  Demo <ul><li>WSMED provides  web service query service .  </li></ul><ul><li>WSMED Demo can be accessible from a web...
Outline <ul><li>WSMED   </li></ul><ul><li>Research Area </li></ul><ul><li>Adaptive Query Parallelization </li></ul><ul><li...
<ul><li>Queries calling data providing web services have a similar   pattern  :-  dependent calls .   </li></ul><ul><li>We...
Outline <ul><li>WSMED   </li></ul><ul><li>Research Area </li></ul><ul><li>Adaptive Query Parallelization </li></ul><ul><li...
Example Query select  gl.City , gl.TypeId from   GetAllStates gs, GetPlacesWithin gp, GetPlaceList gl where   gs.state=gp....
Query Processing in WSMED Parallel query plan SQL query Calculus Generator Parallel pipeliner Plan function generator Non-...
Split point 1 Split point 2 PF 1 PF 2 Non-Parallel Plan γ GetPlacesWithin(‘Atlanta’, state, 15.0, ‘City’) <City, TypeId> γ...
Adaptive Parallel Plan <str> < state > AFF_APPLYP( PF 2 , str ) <City, TypeId> γ GetAllStates() AFF_   APPLYP( PF 1 , stat...
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 Get...
AFF_APPLYP(Function   PF ,  Stream   pstream ) ->   Stream   result <ul><li>PF  – plan function  </li></ul><ul><li>pstream...
Functionalities of AFF_APPLYP <ul><li>1.   AFF_APPLYP   initially forms a binary process tree by always setting  fanout to...
.......... 2.  A  monitoring cycle   for a non-leaf query process is defined when  number of received end-of-call messages...
...... 4.   A FF_APPLYP  records per monitoring cycle  i  the average time  t i  to produce an  incoming tuple from the ch...
Adaptive Results-  Example Query
AFF_APPLYP observations  <ul><li>For example query : </li></ul><ul><ul><li>The execution time with  p =4  and  no drop sta...
Outline <ul><li>WSMED   </li></ul><ul><li>Research Area </li></ul><ul><li>Adaptive Query Parallelization </li></ul><ul><li...
Related work <ul><li>Similar to WSMS  ( U.Srivastava, J.Widom, K.Munagala, and R.Motwani, Query Optimization over Web Serv...
Conclusion <ul><li>WSMED can be accessed : </li></ul><ul><ul><li>through a URL </li></ul></ul><ul><ul><li>http://udbl2.it....
Future ..... <ul><li>Generalize the strategy for queries mixed with dependent and independent web service calls, as well b...
Thank you for your attention <ul><li>? </li></ul>“ The un-queried life is not worth living”
Upcoming SlideShare
Loading in...5
×

Web Service Query Service

386

Published on

presented at Proc. of 11th International Conference on Information Integration and Web-based Applications &amp; Services (iiWAS2009), Kuala Lumpur,Malaysia, December 14-16, 2009

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
386
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 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 &amp; 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.
  • Web Service Query Service

    1. 1. Web Service Query Service Manivasakan Sabesan and Tore Risch Uppsala DataBase Laboratory Dept. of Information Technology Uppsala University Sweden
    2. 2. Outline <ul><li>WSMED </li></ul><ul><li>Research Area </li></ul><ul><li>Adaptive Query Parallelization </li></ul><ul><li>Conclusion & Future work </li></ul>
    3. 3. <ul><li>WSMED provides general query capabilities over data providing web services. </li></ul><ul><li>Users only need to provide WSDL URLs of web services. </li></ul><ul><li>WSMED automatically creates SQL views for each web service operation. </li></ul><ul><li>It makes every web service operation query-able without any programming . </li></ul><ul><li>Users can make any SQL query by using the automatically created SQL views. </li></ul>WSMED ( W eb S ervice MED iator) System
    4. 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. 5. WSMED Demo <ul><li>WSMED provides web service query service . </li></ul><ul><li>WSMED Demo can be accessible from a web browser. </li></ul><ul><li>Java Script is used to invoke directly WSMED web service. </li></ul>
    6. 6. Outline <ul><li>WSMED </li></ul><ul><li>Research Area </li></ul><ul><li>Adaptive Query Parallelization </li></ul><ul><li>Conclusion & Future work </li></ul>
    7. 7. <ul><li>Queries calling data providing web services have a similar pattern :- dependent calls . </li></ul><ul><li>Web service calls incur high-latency and high message setup cost </li></ul><ul><li>A naïve implementation of an application making these calls sequentially is time consuming </li></ul><ul><li>A challenge here is to develop methods to speed up such queries with dependent web service calls </li></ul>Research Problems WS 1 WS 2 WS 3 WS n
    8. 8. Outline <ul><li>WSMED </li></ul><ul><li>Research Area </li></ul><ul><li>Adaptive Query Parallelization </li></ul><ul><li>Conclusion & Future work </li></ul>
    9. 9. Example Query select gl.City , gl.TypeId from GetAllStates gs, GetPlacesWithin gp, GetPlaceList gl where gs.state=gp.state and gp.distance=15.0 and gp.placeTypeToFind='City' and gp.place='Atlanta' and gl.placeName=gp.ToPlace + ' ,' + gp.ToState and gl.MaxItems=100 and gl.imagePresence='true' Finds information about places located within 15 km from each City named ’ Atlanta ‘ in all US states. <ul><li>Invokes 300 web service calls and r eturns a stream of 360 tuples </li></ul><City, TypeId> GetAllStates GetPlacesWithin GetPlaceList <state> <ToPlace, ToState> <15,’City’,’Atlanta’> <100,’true’>
    10. 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. 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. 12. Adaptive Parallel Plan <str> < state > AFF_APPLYP( PF 2 , str ) <City, TypeId> γ GetAllStates() AFF_ APPLYP( PF 1 , state )
    13. 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. 14. AFF_APPLYP(Function PF , Stream pstream ) -> Stream result <ul><li>PF – plan function </li></ul><ul><li>pstream – stream of parameter values p i </li></ul><ul><li>result – stream of results r i </li></ul><ul><li>Asynchronous operator </li></ul>q3 q4 q5 PF PF PF p 1 p 2 p 3 Adaptive First Finished Apply in Parallel (A FF_APPLYP ) AFF_APPLYP r 1 r 2 r 3 p 4 p 5 p 6 PF p 1 , p 2 , p 3 r 1 p 4 r 3 p 5 r 2 p 6
    15. 15. Functionalities of AFF_APPLYP <ul><li>1. AFF_APPLYP initially forms a binary process tree by always setting fanout to 2 - init stage . </li></ul>q0 q1 q3 q4 q2 q6 q5 Coordinator Level 1 Level 2
    16. 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. 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
    18. 18. Adaptive Results- Example Query
    19. 19. AFF_APPLYP observations <ul><li>For example query : </li></ul><ul><ul><li>The execution time with p =4 and no drop stage is the best. </li></ul></ul><ul><ul><li>It is more than 4 times faster with the sequential execution (non-parallel). </li></ul></ul><ul><li>The execution time with p=2 and no drop stage is reasonably close to the best execution time ( 80% ). </li></ul><ul><li>Drop stage makes insignificant changes in the execution time. </li></ul><ul><li>Fanout of each level on a process tree depends on the execution time of a web service invoked on that level. </li></ul><ul><ul><li>AFF_APPLYP finds the optimized fanout for each level . </li></ul></ul>
    20. 20. Outline <ul><li>WSMED </li></ul><ul><li>Research Area </li></ul><ul><li>Adaptive Query Parallelization </li></ul><ul><li>Conclusion & Future work </li></ul>
    21. 21. Related work <ul><li>Similar to WSMS ( U.Srivastava, J.Widom, K.Munagala, and R.Motwani, Query Optimization over Web Services, VLDB 2 006 ) WSMED also invoke parallel web service calls. In contrast, WSMED supports automated adaptive parallelization. </li></ul><ul><li>In contrast to WSQ/DSQ ( R.Goldman, and J.Widom, WSQ/DSQ: a practical approach for combined querying of databases and the Web, SIGMOD 2000 ) , WSMED produces non-materialized adaptive parallel plans based on parameter streams. </li></ul><ul><li>Runtime optimization techniques ( A. Gounaris, et al., Robust runtime optimization of data transfer in queries over Web Services, ICDE 2008 ) investigate adaptation of buffer sizes in web service calls, not dealing with adaptive parallelism on web service calls. </li></ul>
    22. 22. Conclusion <ul><li>WSMED can be accessed : </li></ul><ul><ul><li>through a URL </li></ul></ul><ul><ul><li>http://udbl2.it.uu.se/WSMED/wsmed.html </li></ul></ul><ul><ul><li>without installing any software . </li></ul></ul><ul><li>Queries are expressed in SQL to dynamically compose data providing web services without any programming . </li></ul><ul><ul><li>Makes any web service queryable with SQL </li></ul></ul><ul><li>AFF_APPLYP: </li></ul><ul><ul><li>automatically parallelize web service calls . </li></ul></ul><ul><ul><li>adapts the process tree at runtime , based on the flow of result stream without any static cost model . </li></ul></ul><ul><li>Adaptive Parallel plan with AFF_APPLYP makes possible to run expensive queries . </li></ul>
    23. 23. Future ..... <ul><li>Generalize the strategy for queries mixed with dependent and independent web service calls, as well bushy trees ( Ongoing work ) </li></ul><ul><li>Investigate different process arrangement strategies with the algebra operators. </li></ul><ul><li>Setup a benchmark to simulate the parallel invocation of web services. </li></ul>
    24. 24. Thank you for your attention <ul><li>? </li></ul>“ The un-queried life is not worth living”
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×