SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Querying Mediated Web Services

          M. Sabesan                                  Tore Risch                             Gihan Wikramanayake
Dept. of Information Technology             Dept. of Information Technology                    University of Colombo
      Uppsala University                          Uppsala University                           School of Computing
             Sweden.                                     Sweden                                      Sri Lanka
     Tel: +46 18 471 7778                         Tore.Risch@it.uu.se                          gnw@ucsc.cmb.ac.lk
  mailto: msabesan@it.uu.se



                       Abstract                                   invokes the web service operations to retrieve the desired
                                                                  information. In this work we provide the capability to
   Web services provide interfaces to web resources               define declarative queries and views over data extracted
described by WSDL interface definitions. The Web                  from web services.
Service MEDiator system (WSMED) enables querying                     The WSMED (Web Service MEDiator) engine
data accessible through web services. WSMED allows                permits integration of data from heterogeneous remote
web service meta-data to be automatically extracted               systems accessible through web services. It permits SQL
from any WSDL description. Then views can be created              queries over data produced by distributed web service
in terms of the imported meta-data and queried using              enabled data sources. Any web service can be accessed
SQL. To enhance query performance, WSMED permits                  by importing its WSDL interface descriptions. The
to complement the automatically extracted web service             imported WSDL interface descriptions are stored in
meta-data with semantic enrichments. A WSMED                      WSMED as meta-data. To enhance query processing, the
prototype is being evaluated over existing web services           meta-data can be complemented with user-provided
to verify the effectiveness of the approach. It is being          semantic enrichments describing properties of data in the
investigated how semantic enrichments and other query             sources not provided by WSDL. The user can define
optimization methods are useful for efficient querying of         views of data from the web services in terms of the
mediated web services.                                            imported meta-data. Applications then query these views
                                                                  transparently as if all the data was stored in a relational
Keywords: Web Services - Views - Query Processing -               database. SQL is used by applications and users for
Binding Patterns                                                  querying these views. Composed SQL views can be
                                                                  defined in terms of the web service views. A mediator
                                                                  query optimizer automatically decides strategies to access
1. Introduction                                                   wrapped web service operations to minimize the
                                                                  execution cost.
   The growth of the Internet and the emergence of XML               The remainder of this paper is organized as follows.
for data interchange have increased the importance of             Section 2 formulates the research issues we are
web services [27] incorporating standards such as SOAP            addressing. Section 3 discusses related work. Section 4
[24], WSDL [1] and XML Schema [25]. The interface                 describes a motivating example used for our study.
description language WSDL provides an XML format                  Section 5 overviews the architecture of WSMED.
that describes interfaces to a web service as a collection        Finally, section 6 summarizes our approach and outlines
of self-contained descriptions of operations. XML                 future directions.
Schema is used for describing types and structure of
messages used in WSDL operation descriptions. SOAP                2. Research issues
provides a standardized system communication protocol.
   One of the important applications of web services is to           The development of a web service based mediator
search for data accessible through web service operations.        prototype is expected to provide insights into a number of
However, unlike relational databases web services do not          research questions:
provide any high-level query language or support view               1. To what extent can the web service standards, such
capabilities for querying the data. Therefore the user has               as WDSL, SOAP, and XML-Schema, be
to access a web service by implementing navigational                     automatically utilized by a mediator engine to
programs in a high level language such as Java, C that                   query the sources efficiently and scalable?




                                                             39
2.   How can views in a high level query language               Agriculture. It is available through a WSDL description
       such as SQL be defined in terms of imported web            [23]. The database contains information about the
       service descriptions?                                      nutrient content of over 6000 food items. We illustrate
  3.   How can the modern query optimization and                  WSMED by the operation SeachFoodByDescription to
       rewrite techniques be used to provide efficient and        search foods given a food key word or a food group code.
       scalable access that optimally utilizes the limited        The operation returns ndbnumber, longdescription and
       data access and update capabilities of different           foodgroupcode as the results. A view (Table 1) is defined
       web services?                                              in WSMED to execute queries over this web service
  4.   What minimal set of extra semantic enrichment is           operation.
       needed in addition to the current web service                  ndb         keyword descr               gpcode
       standards in order to provide scalable access                  19080       Sweet       Candies,        1900
       through the views?                                                                     semisweet
                                                                                              chocolate
3. Related work                                                       ………. ………                …………            ……….
                                                                                           Table 1. food view
    SOAP and WSDL provides standardized basic                         The following SQL query uses the above to retrieve
interoperation protocols for web services but no query or         the description of foods that have food group code equal
view capabilities. Several systems have been built to             to 1900 and keyword ‘Sweet’:
query XML in general, e.g. [3] [5] [8] [13] [14], without             select descr
providing support for web service access. WSMS [17]                   from food
also studies queries to mediated web services. However,               where gpcode=’1900’ and keyword=’Sweet’;
they currently concentrate on pipelined execution of web          Figure 1 shows the WSMED view definition of food.
service queries by importing WSDL descriptions, while             create SQLview food (Charstring ndb ,
we concentrate on utilizing semantic enrichments for                                       Charstring keyword,
scalable execution of database queries to high level views                                 Charstring descr,
of wrapped web service operations. As some other view                                      Charstring gpcode)
integration approaches [2][4][6][7][18][19] we also               as multidirectional
utilize binding patterns as one of our semantic                    (“ffff” select ndb, “”,descr, gpcode
enrichments to access data sources with limited data                       where foodDescr(“”,“”,)=<ndb,descr,gpcode>)
capabilities. We are investigating whether the binding            (“fffb” select ndb, “”,descr
pattern mechanism in [12] and other semantic                             where foodDescr(“”,gpcode)= <ndb,descr,gpcode>)
enrichments such as keys, cost estimates, and foreign key         (“fbff” select ndb,descr,gpcode
relationships can improve the processing time for queries              where foodDescr(keyword, “”)= <ndb,descr,gpcode>)
over data accessible through web services.                        (“fbfb” select ndb, descr
    Chocolate [10] also creates views of web services             where foodDescr(keyword,gpcode)=<ndb,descr,gpcode>)
based on importing WSDL descriptions. Some user                                       Figure 1. SQL view
modification of the views is possible by                              The view is defined in terms of a generic web service
adding/deleting/renaming attributes, changing data types,         data access query function that wraps the web service
and splitting/merging views, but not the kinds of                 operation foodDescr. Several different web service
semantics enrichments we are considering for efficient            search definitions are used in the view definition to
queries.                                                          specify the web service operation calls depending on how
    [9] [11] propose to use semantic query optimization           a query to the view is specified. For example, the
techniques for optimization of heterogeneous multi-               strategies may depend on what view attributes are known
database queries. Some of those methods could be                  or unknown in the query, i.e. the view binding patterns.
applicable in our environment as well but we aim at               In our example the view binding patterns are:
minimizing the semantic enrichments needed for scalable             1. ffff- all the attributes of the view food are free. That
query execution.                                                         is, the query does not to specify any attribute
                                                                         selection value.
4. Motivating example                                               2. fbff- a value is specified in the query only for the
                                                                         attribute keyword.
                                                                    3. fffb- a value is specified only for groupcode.
  For the initial evaluation we use a publicly available
                                                                    4. fbfb- both the values keyword and groupcode are
web service that provides access and search to the
                                                                         specified.
National Nutrient Database for US Department of




                                                             40
Another important semantic enrichment we use is that                        A service describes a particular web service and
the attribute ndb turns out to be the key in food and                       supports a set of operations and depicted by the Service
specified by calling the system function declare_key:                       entity. The name attribute corresponds to the name of the
   declare_key(“food”, {”ndb”});                                            web service; namespaceURI is a URI reference to
This information is important for estimating costs to                       identify a web service. Each operation named name
access web service operations and for unifying redundant                    represents a procedure that can be invoked through the
web service calls.                                                          web service. The style indicates whether the operation is
                                                                            RPC-oriented (messages have parameters and return
5. WSMED system                                                             values) or document-oriented (messages containing
                                                                            documents). The encoding style is a URI that indicates
                                                                            the encoding rules for data in the SOAP messages. The
   This section gives an overview of the WSMED
                                                                            target URL determines the address of the SOAP message.
system. The web service schema describes the internal
                                                                            The SOAPactionURI used to identify the intent of a
web service meta-database in WSMED that stores WSDL
                                                                            SOAP Message.
definitions and semantic enrichments. System
components sub section describes the sub components of                        WSDL         WSMED        WSDL                 WSMED
                                                                              data type    data type    data type            data type
the system.
                                                                              anyURI       Charstring   Integer              Real
5.1 Web service schema                                                        baseBinary   Charstring   Language             Charstring
                                                                              Boolean      Boolean      Long                 Integer
   Figure 2 shows an extended ER-diagram of the web                           Byte         Integer      Name                 Charstring
service schema that represents the WSDL core elements                         Date         Date         NCName               Charstring
[1] service, operation, and element.
                                                                              dateTime     Charstring   NegativeInteger      Real
                                                                              Decimal      Real         NMTOKEN              Charstring
                                                    namespace                 Double       Real         NMTOKENS             Charstring
   Service          1
                               ports                URI                       Duration     Charstring   NonnegativeInteger   Real
                                                                              ENTITIES     Charstring   nonPositiveInteger   real
                                           N
                               style                        encoding          ENTITY       Charstring   NormalizedString     Charstring
 name                                                       style             Float        Real         NOTATION             Charstring
                                       Operation                              gDay         Charstring   positiveInteger      real
             targetURL
                                                                              gMonth       Charstring   QName                Charstring
                                                        SOAPaction
                                       1       1        URI                   gMonthDay    Charstring   Short                integer
             name                                                             gYear        Charstring   String               Charstring
                               input               output                     gYearMonth   Charstring   Time                 Time
                                                                              hexBinary    Charstring   Token                Charstring
                                           M   N        min
                        type                            occurs                ID           XS_ID        unsignedByte         integer
         sub                   N                                              IDREF        XML          unsignedInt          integer
      elements                          Element                               IDREFS       XML          unsignedLong         integer
                               1                                              Int          Integer      unsignedShort        integer
                                                        max                  Table 2: Mappings between WSDL and WSMED
                                                        occurs                                     data types
                                       name
                                                                               The ports relationship represents the association
                    Entity (type in WSMED)                                  between a service and its operations. Each operation has a
                                                                            number of input elements and output elements. It is an
                    Relationship (function in WSMED)
                                                                            abstract definition of the data being transmitted and is
                 Attribute (function in WSMED)                              associated with a data type, i.e. the input and output
                                                                            elements define the signature of the operation. Complex
                    Direction of function
                                                                            data elements may consist of other sub-elements where
  N      1       Cardinality constraints                                    each sub-element has a data type, along with a name and
                                                                            the number of minimum and maximum occurrences
         Figure 2. The web service schema                                   within the super element. The WSMED uses a conversion
                                                                            table (Table 2) for type conversion from/to a XML




                                                                       41
Schema data type to/from the corresponding data type in            manager component, implemented using the APIs SAAJ
WSMED.                                                             [21] and JDOM [26]. The web service manager is
                                                                   accountable for invoking web service calls in order to
4.2 System components                                              retrieve the result for the user query. For this, it creates a
                                                                   message format able to invoke the web service operation
   The WSMED prototype is illustrated by Figure 3. For             using the SOAP [24] protocol over the communication
high level and scalable query execution over the data              network. Then the structure of the SOAP reply message
provided by a web service, WSMED requires                          is converted by the web service manager into the format
representation of its WSDL meta-data in the internal               used by the query processor for further processing.
database of WSMED. The WSDL Importer can import                        Figure 4 illustrates architectural details of the query
any WSDL description using the tool kits WSDL4J [22]               processor. The calculus generator produces a domain
and Castor [20]. For a given URL, the retrieved WSDL               calculus expression from an SQL query. This expression
document is parsed and converted into the format used by           is passed to the query rewriter for further processing to
WSMED’s predefined web service schema for WSDL                     produce an equivalent but simpler domain calculus
(Figure 2). The extracted meta-data is stored as web               expression. The query rewriter calls the view expander to
service descriptions in WSMED’s internal database.                 process the WSMED view and search definitions to
   In addition to the web service descriptions, WSMED              translate an SQL query over the WSMED view into a
furthermore keeps optional WSMED enrichments in its                corresponding calculus query directly calling web service
local store extending the basic web service schema. These          operations. An important task for the query rewriter is to
WSMED enrichments include information necessary to                 perform common sub-expression elimination between
efficiently translate SQL queries into web service                 different sub-queries calling the same web service
operation calls using different strategies depending on the        operation in order to minimize the number of calls. This
semantics of the wrapped operations. A functional and              requires knowledge about what argument or result in a
object-oriented query language [15] [16] is used for               web service operation can be used as a key.
defining the SQL views in terms of calls to one or several
web service operations.                                                                      web service
                                                                        SQL query
                                                                                             arguments

           WSDL              Web
          document           service                                            calculus            execution
                                                                                generator            engine


          WSDL           Web Service
                          Manager                                                  query            cost-based
         Importer
                                                                                  rewriter          optimizer


                            Query             Results
                           Processor         SQL                                        view expander
                                             query

                                                                                 Figure 4: Query Processor

                                                                       The cost-based optimizer uses a generic web service
   Web service                                                     cost model to produce and optimize the user query
                     Web service        WSMED
    schema                                                         execution plan represented as an algebra expression. The
                     descriptions      enrichments
                                                                   algebra has operators to invoke web services and to apply
                                                                   external functions implemented in WSDL (e.g. for
                                                                   extraction of data from web service results).
      Figure 3: WSMED system components                               The algebra expression is finally interpreted by the
                                                                   execution engine. It uses descriptions of operations in the
   The query processor exploits the web service                    web service meta-database to call the web service
descriptions and WSMED enrichments to process                      operations in the execution plan. A call to the web service
queries. The query processor calls the web service                 manager is specified by web service properties such as




                                                              42
SOAPactionURI, style, encodingstyle, namespaceURI,                and sent it to the JDOM processor as a Java object. Then
and targetURL (Figure 2). Furthermore, it contains the            the JDOM processor converts the message content into a
actual parameters of the operation, called the input              JDOM object. The JDOM object represents the XML
elements.                                                         format as shown in Figure 7.
                                                                     The JDOM processor requires the output elements’
                                                                  properties (Figure 2) of the web service operation call
                      a              b,c,d,e,f                    such as type and maxoccurs to constructs the result object
    results
                                                                  of the web service call by extracting information from the
                          JDOM
                          Object                                  JDOM object. The type of output elements is used by the
          JDOM                         SOAP                       JDOM processor for the conversion of XML data format
          Processor        message     Processor                  and data format used by WSMED while maxoccurs is
                          content                                 used to determine the result object structure. The JDOM
                                                                  processor retrieves the values for type and maxoccurs
                g,h           SOAP message                        from the web service meta-database. After that the result
                                                                  object is sent back to the execution engine.
     a - input elements b - SOAPactionURI
     c - style          d -encodingstyle                          <soap:Envelope
     e - namespaceURI f - targetURL
     g - type           h-maxoccurs                               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
                                                                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-
           Figure 5: Web service manager
   As shown by Figure 5 , the web service manager uses            instance" xmlns:xsd="http://www.w3.org/2001/XML
two sub components to create a SOAP message: The
                                                                  Schema">
JDOM processor and the SOAP Processor. JDOM
processor is implemented using JDOM APIs while SOAP                <soap:Body>
processor using SAAJ (SOAP with Attachments API for
                                                                     <SearchFoodByDescriptionResponse
Java) APIs.
   The SOAP processor creates a request SOAP message                 xmlns="http://www.strikeiron.com/">
and sends it over the network to invoke the web service
                                                                     <SearchFoodByDescriptionResult>
operation call. The SOAP body is the essential part of the
SOAP message and it provides a simple mechanism for                  <SearchByKeywordsOutput>
exchanging mandatory information intended for the web
                                                                       <NDBNumber>02044</NDBNumber>
service operation call. The JDOM processor creates a
JDOM object that represents the mandatory information                  <LongDescription>Basil, fresh </LongDescription>
for the SOAP body. The SOAP processor requires
                                                                       <FoodGroupCode>0200</FoodGroupCode>
additional information for SOAP message creation. The
XML format of the JDOM object is shown by Figure 6.                  </SearchByKeywordsOutput>
The input elements to the JDOM processor contain names               </SearchFoodByDescriptionResult>
of elements such as SearchFoodByDescription,
FoodKeywords, and FoodGroupCode, and the values for                  <ResponseStatus>
the elements, e.g. Sweet and 1900.                                     <response_code>0</response_code>
<SearchFoodByDescription>
                                                                     <response_string>Success</response_string>
<FoodKeywords>Sweet</FoodKeywords>
                                                                     </ResponseStatus>
<FoodGroupCode>1900</FoodGroupCode>
                                                                     </SearchFoodByDescriptionResponse>
</SearchFoodByDescription>
                                                                   </soap:Body>
       Figure 6: The request XML document
                                                                  </soap:Envelope>
   The SOAP processor creates the final SOAP message                    Figure 7: The response XML document
given the JDOM object (Figure 5) and the web service                 The execution engine performs further post processing
properties and sends it over the network to invoke the            specified by the algebra such as filtering and data
web service operation call. The response of the remote            transformation before the query result is delivered to the
web service call is received as a SOAP message. Contents          user.
of the SOAP message is extracted by the SOAP processor




                                                             43
International Conference on Parallel and Distributed
                                                                              Information Systems (PDIS ’96), 1996, pp 170-181.
6. Conclusions and future work                                       [7]      A.L.Halevy, Answering queries using views: A survey,
                                                                            VLDB Journal, 4(10), 2001, pp 270-294.
    WSMED provides primitives for defining relational                [8]      A. Halverson, V.Josifovski, G.Lohman, H.Pirahesh, and
views of web service data and supports SQL queries over                     M. Mörschel, ROX: Relational Over XML, Proc. 30th
the views. We described the architecture of the WSMED                       VLDB Conference (VLDB ’04), 2004, pp 264-275.
prototype system to evaluate different implementation                [9]      C.Hsu, and C.A.Knoblock, Semantic Query Optimization
alternatives. The architecture utilizes publically available                for Query Plans of Heterogeneous Multidatabase Systems,
subsystems such as WSDL4J, JDOM,SAAJ and Castor to                          IEEE Transactions on Knowledge and Data Engineering ,
                                                                            12(6), 2000, pp 959-978.
allow the WSMED query engine to access any web
                                                                     [10]     V.Josifovski, S.Massmann, and F.Naumann, Super-Fast
service based on web service meta-data in a WSDL                             XML Wrapper Generation in DB2: A Demonstration,
description.                                                                 Proc. International Conference of Data Engineering,
    The performance of queries varies very substantially                     (ICDE’03), 2003, pp 756-758.
depending on what processing strategy is used.                       [11]     C.Li, Describing and Utilizing Constraints to Answer
Therefore, we are investigating query processing                             Queries in Data-Integration Systems, Proc. IJCAI 2003
strategies using our prototype and existing web services.                    workshop on Information Integration on the Web (IIWeb-
The query performance turns out to be very much                              03), 2003, pp 163-168.
dependent on knowledge about some semantics of the                   [12]     W.Litwin, and T.Risch, Main Memory Oriented
                                                                             Optimization of OO Queries using Typed Datalog with
specific web service operations invoked not provided by
                                                                             Foreign Predicates, IEEE Transactions on Knowledge and
WSDL and therefore the user can provide these semantic                       Data Engineering , 4(6), 1992, pp. 517-528.
enrichments to WSDM for better query optimization. We                [13]     J. McHugh, S. Abiteboul, R. Goldman, D. Quass, and J.
investigate how to utilize capability based query                            Widom, Lore: A Database Management System for
optimization [4] to process the SQL queries over                             Semistructured Data, SIGMOD Record, 26(3), ACM Press
semantically enriched views of web services.                                 , New York, USA, 1997, pp 54-66.
    Future work includes how to minimize the required                [14]     J.Naughton, et al. , The Niagara Internet Query System,
semantic enrichments by using heuristic methods or by                        IEEE Data Engineering bulletin, 24(2) , 2001, pp. 27-33.
adaptive query processing techniques based on                        [15]     T.Risch and V.Josifovski, Distributed Data Integration by
                                                                             Object-Oriented Mediator Servers, Concurrency and
monitoring the behavior of web service calls.
                                                                             Computation: Practice and Experience J., 13(11), John
    So far we assume all web service operations used in                      Wiley & Sons, 2001, pp 933-953.
queries are side effect free. A further future research issue        [16]     T.Risch, V.Josifovski, and T.Katchaounov, Functional
is semantic enrichments to allow SQL updates of web                          Data Integration in a Distributed Mediator System, in
service data views.                                                          P.Gray, L.Kerschberg, P.King, and A.Poulovassilis (eds.):
                                                                             Functional Approach to Data Management - Modeling,
References                                                                   Analyzing and Integrating Heterogeneous Data, ISBN 3-
                                                                             540-00375-4,Springer,2003,pp 211-238.
                                                                     [17]     U.Srivastava, J.Widom, K.Munagala, and R.Motwani,
[1]   E.Christensen, F.Curbera, G.Meredith, and S. Weerawara
                                                                             Query        Optimization      over    Web       Services,
      na, Web services description language (WSDL) 1.1.,
                                                                             http://hake.stanford.edu/wsms/index.htm, 2005.
      W3C, http://www.w3.org/TR/wsdl, 2001.
                                                                     [18]     J.D.Ullman, Information Integration Using Logical
[2]   M.Duschka, Query Planning and Optimization in
                                                                             Views, Proc. 6th International Conference on Database
      Information Integration, Ph.D. Thesis, Stanford
                                                                             Theory (ICDT ’97), 1997, pp 19-40.
      University, Computer Science Technical Report STAN-
                                                                     [19]     V.Zadorozhny, L.Raschid, T.Urhan, M.E.Vidal, and
      CS-TR-97-1598, 1997.
                                                                             L.Bright, Efficient Evaluation of Queries in a Mediator
[3]    L.Ennser, C.Delporte, M.Oba, and K.Sunil, Integrating
                                                                             for Web Sources, Proc. International conference on
      XML with DB2 XML Extender and DB2 Text
                                                                             Management of data (SIGMOD ’02), 2002, pp 85-96.
      Extender,
                                                                     [20]   http://www.castor.org/index.html.
      http://www.redbooks.ibm.com/redbooks/pdfs/sg246130.pd
                                                                     [21]   https://saaj.dev.java.net/.
      f , IBM Corp., 2001.
                                                                     [22]   http://sourceforge.net/projects/wsdl4j.
[4]   H.Garcia-Molina, J.D Ullman, and J.Widom, Database
                                                                     [23]   http://ws.strikeiron.com/USDAData?WSDL
      Systems: The Complete Book, ISBN 0-13-098043-9,
                                                                     [24]   http://www.w3.org/TR/soap12-part1/.
      Prentice Hall, 2002, pp 1047-1069.
                                                                     [25]   http://www.w3.org/TR/2004/REC-xml-20040204/
[5]   G.Gardarin, A.Mensch, and A.Tomasic, An Introduction
                                                                     [26]   http://www.jdom.org/
      to the e-XML Data Integration Suite, Proc. 8th
                                                                     [27]   http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/
      International Conference on Extending Database
      Technology (EDBT ’02), 2002, pp. 297–306.
[6]   A.Gupta, L.Haas, and Y. Papakonstantinou, Capabilities-
      Based Query Rewriting in Mediator Systems, Proc. 4th




                                                                44

Contenu connexe

En vedette

Barbarization scenarios
Barbarization scenariosBarbarization scenarios
Barbarization scenarios
tomas_kolka
 
Alice 3
Alice 3Alice 3
Alice 3
frcol
 

En vedette (15)

Micah 3 commentary
Micah 3 commentaryMicah 3 commentary
Micah 3 commentary
 
Barbarization scenarios
Barbarization scenariosBarbarization scenarios
Barbarization scenarios
 
Vinculum Overview
Vinculum OverviewVinculum Overview
Vinculum Overview
 
Dyspnoe
DyspnoeDyspnoe
Dyspnoe
 
TXT Message Acronym
TXT Message AcronymTXT Message Acronym
TXT Message Acronym
 
Limits of community detection
Limits of community detectionLimits of community detection
Limits of community detection
 
Copal's story
Copal's storyCopal's story
Copal's story
 
Alice 3
Alice 3Alice 3
Alice 3
 
Passé composé
Passé   composéPassé   composé
Passé composé
 
Mineral Makeup 101
Mineral Makeup 101Mineral Makeup 101
Mineral Makeup 101
 
Devoir Profile
Devoir ProfileDevoir Profile
Devoir Profile
 
Access Reports for Tenderfeet (or is that tenderfoots?)
Access Reports for Tenderfeet (or is that tenderfoots?) Access Reports for Tenderfeet (or is that tenderfoots?)
Access Reports for Tenderfeet (or is that tenderfoots?)
 
Metamorphic Creature Expedition
Metamorphic Creature ExpeditionMetamorphic Creature Expedition
Metamorphic Creature Expedition
 
Basic HTML
Basic HTMLBasic HTML
Basic HTML
 
Begin To Blog Post
Begin To Blog PostBegin To Blog Post
Begin To Blog Post
 

Similaire à Querying Mediated Web Services

DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
NAbderrahim
 
Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008
servicefinder
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
rahmed_sct
 

Similaire à Querying Mediated Web Services (20)

R01765113122
R01765113122R01765113122
R01765113122
 
Design and Implementation of SOA Enhanced Semantic Information Retrieval web ...
Design and Implementation of SOA Enhanced Semantic Information Retrieval web ...Design and Implementation of SOA Enhanced Semantic Information Retrieval web ...
Design and Implementation of SOA Enhanced Semantic Information Retrieval web ...
 
Aq03302570261
Aq03302570261Aq03302570261
Aq03302570261
 
RECOMMENDATION FOR WEB SERVICE COMPOSITION BY MINING USAGE LOGS
RECOMMENDATION FOR WEB SERVICE COMPOSITION BY MINING USAGE LOGSRECOMMENDATION FOR WEB SERVICE COMPOSITION BY MINING USAGE LOGS
RECOMMENDATION FOR WEB SERVICE COMPOSITION BY MINING USAGE LOGS
 
A Clustering Based Collaborative and Pattern based Filtering approach for Big...
A Clustering Based Collaborative and Pattern based Filtering approach for Big...A Clustering Based Collaborative and Pattern based Filtering approach for Big...
A Clustering Based Collaborative and Pattern based Filtering approach for Big...
 
C09
C09C09
C09
 
Efficient retrieval of web services using prioritization and clustering
Efficient retrieval of web services using prioritization and clusteringEfficient retrieval of web services using prioritization and clustering
Efficient retrieval of web services using prioritization and clustering
 
Enhancement in Web Service Architecture
Enhancement in Web Service ArchitectureEnhancement in Web Service Architecture
Enhancement in Web Service Architecture
 
IRJET- A Parameter Based Web Service Discovery with Underlying Semantics Profile
IRJET- A Parameter Based Web Service Discovery with Underlying Semantics ProfileIRJET- A Parameter Based Web Service Discovery with Underlying Semantics Profile
IRJET- A Parameter Based Web Service Discovery with Underlying Semantics Profile
 
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
 
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
 
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSCONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
 
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSCONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
 
Ogsa ogsi-a more detailed view
Ogsa ogsi-a more detailed viewOgsa ogsi-a more detailed view
Ogsa ogsi-a more detailed view
 
Semantic web services discovery selection and composition techniques
Semantic web services  discovery selection and composition techniquesSemantic web services  discovery selection and composition techniques
Semantic web services discovery selection and composition techniques
 
SEMANTIC WEB SERVICES – DISCOVERY, SELECTION AND COMPOSITION TECHNIQUES
SEMANTIC WEB SERVICES – DISCOVERY, SELECTION AND COMPOSITION TECHNIQUESSEMANTIC WEB SERVICES – DISCOVERY, SELECTION AND COMPOSITION TECHNIQUES
SEMANTIC WEB SERVICES – DISCOVERY, SELECTION AND COMPOSITION TECHNIQUES
 
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
 
Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008
 
Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 

Plus de Gihan Wikramanayake

Plus de Gihan Wikramanayake (20)

Using ICT to Promote Learning in a Medical Faculty
Using ICT to Promote Learning in a Medical FacultyUsing ICT to Promote Learning in a Medical Faculty
Using ICT to Promote Learning in a Medical Faculty
 
Evaluation of English and IT skills of new entrants to Sri Lankan universities
Evaluation of English and IT skills of new entrants to Sri Lankan universitiesEvaluation of English and IT skills of new entrants to Sri Lankan universities
Evaluation of English and IT skills of new entrants to Sri Lankan universities
 
Learning beyond the classroom
Learning beyond the classroomLearning beyond the classroom
Learning beyond the classroom
 
Broadcasting Technology: Overview
Broadcasting  Technology: OverviewBroadcasting  Technology: Overview
Broadcasting Technology: Overview
 
Importance of Information Technology for Sports
Importance of Information Technology for SportsImportance of Information Technology for Sports
Importance of Information Technology for Sports
 
Improving student learning through assessment for learning using social media...
Improving student learning through assessment for learning using social media...Improving student learning through assessment for learning using social media...
Improving student learning through assessment for learning using social media...
 
Exploiting Tourism through Data Warehousing
Exploiting Tourism through Data WarehousingExploiting Tourism through Data Warehousing
Exploiting Tourism through Data Warehousing
 
Speaker Search and Indexing for Multimedia Databases
Speaker Search and Indexing for Multimedia DatabasesSpeaker Search and Indexing for Multimedia Databases
Speaker Search and Indexing for Multimedia Databases
 
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...
 
Analysis of Multiple Choice Question Papers with Special Reference to those s...
Analysis of Multiple Choice Question Papers with Special Reference to those s...Analysis of Multiple Choice Question Papers with Special Reference to those s...
Analysis of Multiple Choice Question Papers with Special Reference to those s...
 
Assisting Migration and Evolution of Relational Legacy Databases
Assisting Migration and Evolution of Relational Legacy DatabasesAssisting Migration and Evolution of Relational Legacy Databases
Assisting Migration and Evolution of Relational Legacy Databases
 
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව දිනමිණ, පරිගණක දැනුම
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව   දිනමිණ, පරිගණක දැනුමICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව   දිනමිණ, පරිගණක දැනුම
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව දිනමිණ, පරිගණක දැනුම
 
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය දිනමිණ, පරිගණක දැනුම
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය   දිනමිණ, පරිගණක දැනුමවෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය   දිනමිණ, පරිගණක දැනුම
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය දිනමිණ, පරිගණක දැනුම
 
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා දිනමිණ, පරිගණක දැනුම
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා   දිනමිණ, පරිගණක දැනුමපරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා   දිනමිණ, පරිගණක දැනුම
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා දිනමිණ, පරිගණක දැනුම
 
Producing Employable Graduates
Producing Employable GraduatesProducing Employable Graduates
Producing Employable Graduates
 
Balanced Scorecard and its relationship to UMM
Balanced Scorecard and its relationship to UMMBalanced Scorecard and its relationship to UMM
Balanced Scorecard and its relationship to UMM
 
An SMS-Email Reader
An SMS-Email ReaderAn SMS-Email Reader
An SMS-Email Reader
 
Web Usage Mining based on Heuristics: Drawbacks
Web Usage Mining based on Heuristics: DrawbacksWeb Usage Mining based on Heuristics: Drawbacks
Web Usage Mining based on Heuristics: Drawbacks
 
Evolving and Migrating Relational Legacy Databases
Evolving and Migrating Relational Legacy DatabasesEvolving and Migrating Relational Legacy Databases
Evolving and Migrating Relational Legacy Databases
 
Re-Engineering Databases using Meta-Programming Technology
Re-Engineering Databases using Meta-Programming TechnologyRe-Engineering Databases using Meta-Programming Technology
Re-Engineering Databases using Meta-Programming Technology
 

Dernier

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Dernier (20)

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 

Querying Mediated Web Services

  • 1. Querying Mediated Web Services M. Sabesan Tore Risch Gihan Wikramanayake Dept. of Information Technology Dept. of Information Technology University of Colombo Uppsala University Uppsala University School of Computing Sweden. Sweden Sri Lanka Tel: +46 18 471 7778 Tore.Risch@it.uu.se gnw@ucsc.cmb.ac.lk mailto: msabesan@it.uu.se Abstract invokes the web service operations to retrieve the desired information. In this work we provide the capability to Web services provide interfaces to web resources define declarative queries and views over data extracted described by WSDL interface definitions. The Web from web services. Service MEDiator system (WSMED) enables querying The WSMED (Web Service MEDiator) engine data accessible through web services. WSMED allows permits integration of data from heterogeneous remote web service meta-data to be automatically extracted systems accessible through web services. It permits SQL from any WSDL description. Then views can be created queries over data produced by distributed web service in terms of the imported meta-data and queried using enabled data sources. Any web service can be accessed SQL. To enhance query performance, WSMED permits by importing its WSDL interface descriptions. The to complement the automatically extracted web service imported WSDL interface descriptions are stored in meta-data with semantic enrichments. A WSMED WSMED as meta-data. To enhance query processing, the prototype is being evaluated over existing web services meta-data can be complemented with user-provided to verify the effectiveness of the approach. It is being semantic enrichments describing properties of data in the investigated how semantic enrichments and other query sources not provided by WSDL. The user can define optimization methods are useful for efficient querying of views of data from the web services in terms of the mediated web services. imported meta-data. Applications then query these views transparently as if all the data was stored in a relational Keywords: Web Services - Views - Query Processing - database. SQL is used by applications and users for Binding Patterns querying these views. Composed SQL views can be defined in terms of the web service views. A mediator query optimizer automatically decides strategies to access 1. Introduction wrapped web service operations to minimize the execution cost. The growth of the Internet and the emergence of XML The remainder of this paper is organized as follows. for data interchange have increased the importance of Section 2 formulates the research issues we are web services [27] incorporating standards such as SOAP addressing. Section 3 discusses related work. Section 4 [24], WSDL [1] and XML Schema [25]. The interface describes a motivating example used for our study. description language WSDL provides an XML format Section 5 overviews the architecture of WSMED. that describes interfaces to a web service as a collection Finally, section 6 summarizes our approach and outlines of self-contained descriptions of operations. XML future directions. Schema is used for describing types and structure of messages used in WSDL operation descriptions. SOAP 2. Research issues provides a standardized system communication protocol. One of the important applications of web services is to The development of a web service based mediator search for data accessible through web service operations. prototype is expected to provide insights into a number of However, unlike relational databases web services do not research questions: provide any high-level query language or support view 1. To what extent can the web service standards, such capabilities for querying the data. Therefore the user has as WDSL, SOAP, and XML-Schema, be to access a web service by implementing navigational automatically utilized by a mediator engine to programs in a high level language such as Java, C that query the sources efficiently and scalable? 39
  • 2. 2. How can views in a high level query language Agriculture. It is available through a WSDL description such as SQL be defined in terms of imported web [23]. The database contains information about the service descriptions? nutrient content of over 6000 food items. We illustrate 3. How can the modern query optimization and WSMED by the operation SeachFoodByDescription to rewrite techniques be used to provide efficient and search foods given a food key word or a food group code. scalable access that optimally utilizes the limited The operation returns ndbnumber, longdescription and data access and update capabilities of different foodgroupcode as the results. A view (Table 1) is defined web services? in WSMED to execute queries over this web service 4. What minimal set of extra semantic enrichment is operation. needed in addition to the current web service ndb keyword descr gpcode standards in order to provide scalable access 19080 Sweet Candies, 1900 through the views? semisweet chocolate 3. Related work ………. ……… ………… ………. Table 1. food view SOAP and WSDL provides standardized basic The following SQL query uses the above to retrieve interoperation protocols for web services but no query or the description of foods that have food group code equal view capabilities. Several systems have been built to to 1900 and keyword ‘Sweet’: query XML in general, e.g. [3] [5] [8] [13] [14], without select descr providing support for web service access. WSMS [17] from food also studies queries to mediated web services. However, where gpcode=’1900’ and keyword=’Sweet’; they currently concentrate on pipelined execution of web Figure 1 shows the WSMED view definition of food. service queries by importing WSDL descriptions, while create SQLview food (Charstring ndb , we concentrate on utilizing semantic enrichments for Charstring keyword, scalable execution of database queries to high level views Charstring descr, of wrapped web service operations. As some other view Charstring gpcode) integration approaches [2][4][6][7][18][19] we also as multidirectional utilize binding patterns as one of our semantic (“ffff” select ndb, “”,descr, gpcode enrichments to access data sources with limited data where foodDescr(“”,“”,)=<ndb,descr,gpcode>) capabilities. We are investigating whether the binding (“fffb” select ndb, “”,descr pattern mechanism in [12] and other semantic where foodDescr(“”,gpcode)= <ndb,descr,gpcode>) enrichments such as keys, cost estimates, and foreign key (“fbff” select ndb,descr,gpcode relationships can improve the processing time for queries where foodDescr(keyword, “”)= <ndb,descr,gpcode>) over data accessible through web services. (“fbfb” select ndb, descr Chocolate [10] also creates views of web services where foodDescr(keyword,gpcode)=<ndb,descr,gpcode>) based on importing WSDL descriptions. Some user Figure 1. SQL view modification of the views is possible by The view is defined in terms of a generic web service adding/deleting/renaming attributes, changing data types, data access query function that wraps the web service and splitting/merging views, but not the kinds of operation foodDescr. Several different web service semantics enrichments we are considering for efficient search definitions are used in the view definition to queries. specify the web service operation calls depending on how [9] [11] propose to use semantic query optimization a query to the view is specified. For example, the techniques for optimization of heterogeneous multi- strategies may depend on what view attributes are known database queries. Some of those methods could be or unknown in the query, i.e. the view binding patterns. applicable in our environment as well but we aim at In our example the view binding patterns are: minimizing the semantic enrichments needed for scalable 1. ffff- all the attributes of the view food are free. That query execution. is, the query does not to specify any attribute selection value. 4. Motivating example 2. fbff- a value is specified in the query only for the attribute keyword. 3. fffb- a value is specified only for groupcode. For the initial evaluation we use a publicly available 4. fbfb- both the values keyword and groupcode are web service that provides access and search to the specified. National Nutrient Database for US Department of 40
  • 3. Another important semantic enrichment we use is that A service describes a particular web service and the attribute ndb turns out to be the key in food and supports a set of operations and depicted by the Service specified by calling the system function declare_key: entity. The name attribute corresponds to the name of the declare_key(“food”, {”ndb”}); web service; namespaceURI is a URI reference to This information is important for estimating costs to identify a web service. Each operation named name access web service operations and for unifying redundant represents a procedure that can be invoked through the web service calls. web service. The style indicates whether the operation is RPC-oriented (messages have parameters and return 5. WSMED system values) or document-oriented (messages containing documents). The encoding style is a URI that indicates the encoding rules for data in the SOAP messages. The This section gives an overview of the WSMED target URL determines the address of the SOAP message. system. The web service schema describes the internal The SOAPactionURI used to identify the intent of a web service meta-database in WSMED that stores WSDL SOAP Message. definitions and semantic enrichments. System components sub section describes the sub components of WSDL WSMED WSDL WSMED data type data type data type data type the system. anyURI Charstring Integer Real 5.1 Web service schema baseBinary Charstring Language Charstring Boolean Boolean Long Integer Figure 2 shows an extended ER-diagram of the web Byte Integer Name Charstring service schema that represents the WSDL core elements Date Date NCName Charstring [1] service, operation, and element. dateTime Charstring NegativeInteger Real Decimal Real NMTOKEN Charstring namespace Double Real NMTOKENS Charstring Service 1 ports URI Duration Charstring NonnegativeInteger Real ENTITIES Charstring nonPositiveInteger real N style encoding ENTITY Charstring NormalizedString Charstring name style Float Real NOTATION Charstring Operation gDay Charstring positiveInteger real targetURL gMonth Charstring QName Charstring SOAPaction 1 1 URI gMonthDay Charstring Short integer name gYear Charstring String Charstring input output gYearMonth Charstring Time Time hexBinary Charstring Token Charstring M N min type occurs ID XS_ID unsignedByte integer sub N IDREF XML unsignedInt integer elements Element IDREFS XML unsignedLong integer 1 Int Integer unsignedShort integer max Table 2: Mappings between WSDL and WSMED occurs data types name The ports relationship represents the association Entity (type in WSMED) between a service and its operations. Each operation has a number of input elements and output elements. It is an Relationship (function in WSMED) abstract definition of the data being transmitted and is Attribute (function in WSMED) associated with a data type, i.e. the input and output elements define the signature of the operation. Complex Direction of function data elements may consist of other sub-elements where N 1 Cardinality constraints each sub-element has a data type, along with a name and the number of minimum and maximum occurrences Figure 2. The web service schema within the super element. The WSMED uses a conversion table (Table 2) for type conversion from/to a XML 41
  • 4. Schema data type to/from the corresponding data type in manager component, implemented using the APIs SAAJ WSMED. [21] and JDOM [26]. The web service manager is accountable for invoking web service calls in order to 4.2 System components retrieve the result for the user query. For this, it creates a message format able to invoke the web service operation The WSMED prototype is illustrated by Figure 3. For using the SOAP [24] protocol over the communication high level and scalable query execution over the data network. Then the structure of the SOAP reply message provided by a web service, WSMED requires is converted by the web service manager into the format representation of its WSDL meta-data in the internal used by the query processor for further processing. database of WSMED. The WSDL Importer can import Figure 4 illustrates architectural details of the query any WSDL description using the tool kits WSDL4J [22] processor. The calculus generator produces a domain and Castor [20]. For a given URL, the retrieved WSDL calculus expression from an SQL query. This expression document is parsed and converted into the format used by is passed to the query rewriter for further processing to WSMED’s predefined web service schema for WSDL produce an equivalent but simpler domain calculus (Figure 2). The extracted meta-data is stored as web expression. The query rewriter calls the view expander to service descriptions in WSMED’s internal database. process the WSMED view and search definitions to In addition to the web service descriptions, WSMED translate an SQL query over the WSMED view into a furthermore keeps optional WSMED enrichments in its corresponding calculus query directly calling web service local store extending the basic web service schema. These operations. An important task for the query rewriter is to WSMED enrichments include information necessary to perform common sub-expression elimination between efficiently translate SQL queries into web service different sub-queries calling the same web service operation calls using different strategies depending on the operation in order to minimize the number of calls. This semantics of the wrapped operations. A functional and requires knowledge about what argument or result in a object-oriented query language [15] [16] is used for web service operation can be used as a key. defining the SQL views in terms of calls to one or several web service operations. web service SQL query arguments WSDL Web document service calculus execution generator engine WSDL Web Service Manager query cost-based Importer rewriter optimizer Query Results Processor SQL view expander query Figure 4: Query Processor The cost-based optimizer uses a generic web service Web service cost model to produce and optimize the user query Web service WSMED schema execution plan represented as an algebra expression. The descriptions enrichments algebra has operators to invoke web services and to apply external functions implemented in WSDL (e.g. for extraction of data from web service results). Figure 3: WSMED system components The algebra expression is finally interpreted by the execution engine. It uses descriptions of operations in the The query processor exploits the web service web service meta-database to call the web service descriptions and WSMED enrichments to process operations in the execution plan. A call to the web service queries. The query processor calls the web service manager is specified by web service properties such as 42
  • 5. SOAPactionURI, style, encodingstyle, namespaceURI, and sent it to the JDOM processor as a Java object. Then and targetURL (Figure 2). Furthermore, it contains the the JDOM processor converts the message content into a actual parameters of the operation, called the input JDOM object. The JDOM object represents the XML elements. format as shown in Figure 7. The JDOM processor requires the output elements’ properties (Figure 2) of the web service operation call a b,c,d,e,f such as type and maxoccurs to constructs the result object results of the web service call by extracting information from the JDOM Object JDOM object. The type of output elements is used by the JDOM SOAP JDOM processor for the conversion of XML data format Processor message Processor and data format used by WSMED while maxoccurs is content used to determine the result object structure. The JDOM processor retrieves the values for type and maxoccurs g,h SOAP message from the web service meta-database. After that the result object is sent back to the execution engine. a - input elements b - SOAPactionURI c - style d -encodingstyle <soap:Envelope e - namespaceURI f - targetURL g - type h-maxoccurs xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema- Figure 5: Web service manager As shown by Figure 5 , the web service manager uses instance" xmlns:xsd="http://www.w3.org/2001/XML two sub components to create a SOAP message: The Schema"> JDOM processor and the SOAP Processor. JDOM processor is implemented using JDOM APIs while SOAP <soap:Body> processor using SAAJ (SOAP with Attachments API for <SearchFoodByDescriptionResponse Java) APIs. The SOAP processor creates a request SOAP message xmlns="http://www.strikeiron.com/"> and sends it over the network to invoke the web service <SearchFoodByDescriptionResult> operation call. The SOAP body is the essential part of the SOAP message and it provides a simple mechanism for <SearchByKeywordsOutput> exchanging mandatory information intended for the web <NDBNumber>02044</NDBNumber> service operation call. The JDOM processor creates a JDOM object that represents the mandatory information <LongDescription>Basil, fresh </LongDescription> for the SOAP body. The SOAP processor requires <FoodGroupCode>0200</FoodGroupCode> additional information for SOAP message creation. The XML format of the JDOM object is shown by Figure 6. </SearchByKeywordsOutput> The input elements to the JDOM processor contain names </SearchFoodByDescriptionResult> of elements such as SearchFoodByDescription, FoodKeywords, and FoodGroupCode, and the values for <ResponseStatus> the elements, e.g. Sweet and 1900. <response_code>0</response_code> <SearchFoodByDescription> <response_string>Success</response_string> <FoodKeywords>Sweet</FoodKeywords> </ResponseStatus> <FoodGroupCode>1900</FoodGroupCode> </SearchFoodByDescriptionResponse> </SearchFoodByDescription> </soap:Body> Figure 6: The request XML document </soap:Envelope> The SOAP processor creates the final SOAP message Figure 7: The response XML document given the JDOM object (Figure 5) and the web service The execution engine performs further post processing properties and sends it over the network to invoke the specified by the algebra such as filtering and data web service operation call. The response of the remote transformation before the query result is delivered to the web service call is received as a SOAP message. Contents user. of the SOAP message is extracted by the SOAP processor 43
  • 6. International Conference on Parallel and Distributed Information Systems (PDIS ’96), 1996, pp 170-181. 6. Conclusions and future work [7] A.L.Halevy, Answering queries using views: A survey, VLDB Journal, 4(10), 2001, pp 270-294. WSMED provides primitives for defining relational [8] A. Halverson, V.Josifovski, G.Lohman, H.Pirahesh, and views of web service data and supports SQL queries over M. Mörschel, ROX: Relational Over XML, Proc. 30th the views. We described the architecture of the WSMED VLDB Conference (VLDB ’04), 2004, pp 264-275. prototype system to evaluate different implementation [9] C.Hsu, and C.A.Knoblock, Semantic Query Optimization alternatives. The architecture utilizes publically available for Query Plans of Heterogeneous Multidatabase Systems, subsystems such as WSDL4J, JDOM,SAAJ and Castor to IEEE Transactions on Knowledge and Data Engineering , 12(6), 2000, pp 959-978. allow the WSMED query engine to access any web [10] V.Josifovski, S.Massmann, and F.Naumann, Super-Fast service based on web service meta-data in a WSDL XML Wrapper Generation in DB2: A Demonstration, description. Proc. International Conference of Data Engineering, The performance of queries varies very substantially (ICDE’03), 2003, pp 756-758. depending on what processing strategy is used. [11] C.Li, Describing and Utilizing Constraints to Answer Therefore, we are investigating query processing Queries in Data-Integration Systems, Proc. IJCAI 2003 strategies using our prototype and existing web services. workshop on Information Integration on the Web (IIWeb- The query performance turns out to be very much 03), 2003, pp 163-168. dependent on knowledge about some semantics of the [12] W.Litwin, and T.Risch, Main Memory Oriented Optimization of OO Queries using Typed Datalog with specific web service operations invoked not provided by Foreign Predicates, IEEE Transactions on Knowledge and WSDL and therefore the user can provide these semantic Data Engineering , 4(6), 1992, pp. 517-528. enrichments to WSDM for better query optimization. We [13] J. McHugh, S. Abiteboul, R. Goldman, D. Quass, and J. investigate how to utilize capability based query Widom, Lore: A Database Management System for optimization [4] to process the SQL queries over Semistructured Data, SIGMOD Record, 26(3), ACM Press semantically enriched views of web services. , New York, USA, 1997, pp 54-66. Future work includes how to minimize the required [14] J.Naughton, et al. , The Niagara Internet Query System, semantic enrichments by using heuristic methods or by IEEE Data Engineering bulletin, 24(2) , 2001, pp. 27-33. adaptive query processing techniques based on [15] T.Risch and V.Josifovski, Distributed Data Integration by Object-Oriented Mediator Servers, Concurrency and monitoring the behavior of web service calls. Computation: Practice and Experience J., 13(11), John So far we assume all web service operations used in Wiley & Sons, 2001, pp 933-953. queries are side effect free. A further future research issue [16] T.Risch, V.Josifovski, and T.Katchaounov, Functional is semantic enrichments to allow SQL updates of web Data Integration in a Distributed Mediator System, in service data views. P.Gray, L.Kerschberg, P.King, and A.Poulovassilis (eds.): Functional Approach to Data Management - Modeling, References Analyzing and Integrating Heterogeneous Data, ISBN 3- 540-00375-4,Springer,2003,pp 211-238. [17] U.Srivastava, J.Widom, K.Munagala, and R.Motwani, [1] E.Christensen, F.Curbera, G.Meredith, and S. Weerawara Query Optimization over Web Services, na, Web services description language (WSDL) 1.1., http://hake.stanford.edu/wsms/index.htm, 2005. W3C, http://www.w3.org/TR/wsdl, 2001. [18] J.D.Ullman, Information Integration Using Logical [2] M.Duschka, Query Planning and Optimization in Views, Proc. 6th International Conference on Database Information Integration, Ph.D. Thesis, Stanford Theory (ICDT ’97), 1997, pp 19-40. University, Computer Science Technical Report STAN- [19] V.Zadorozhny, L.Raschid, T.Urhan, M.E.Vidal, and CS-TR-97-1598, 1997. L.Bright, Efficient Evaluation of Queries in a Mediator [3] L.Ennser, C.Delporte, M.Oba, and K.Sunil, Integrating for Web Sources, Proc. International conference on XML with DB2 XML Extender and DB2 Text Management of data (SIGMOD ’02), 2002, pp 85-96. Extender, [20] http://www.castor.org/index.html. http://www.redbooks.ibm.com/redbooks/pdfs/sg246130.pd [21] https://saaj.dev.java.net/. f , IBM Corp., 2001. [22] http://sourceforge.net/projects/wsdl4j. [4] H.Garcia-Molina, J.D Ullman, and J.Widom, Database [23] http://ws.strikeiron.com/USDAData?WSDL Systems: The Complete Book, ISBN 0-13-098043-9, [24] http://www.w3.org/TR/soap12-part1/. Prentice Hall, 2002, pp 1047-1069. [25] http://www.w3.org/TR/2004/REC-xml-20040204/ [5] G.Gardarin, A.Mensch, and A.Tomasic, An Introduction [26] http://www.jdom.org/ to the e-XML Data Integration Suite, Proc. 8th [27] http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/ International Conference on Extending Database Technology (EDBT ’02), 2002, pp. 297–306. [6] A.Gupta, L.Haas, and Y. Papakonstantinou, Capabilities- Based Query Rewriting in Mediator Systems, Proc. 4th 44