Está en la página 1de 21

Wrappers in Mediator-Based Systems

Chapter 21.3 Information Integration Presented By Annie Hii Toderici

Outline
Templates for Query Patterns  Wrapper Generators  Filters  Other Operations at the Wrapper

Extractors in Data Warehouse  Extractors (wrapper) consist of: ◦ Predefined queries that are executed at the source to produce data for the warehouse ◦ Suitable communication mechanisms  Pass specific queries to the source  Receive responses from the source  Pass information to the warehouse .

user query result Warehouse Combiner Extractor Extractor Source 1 Source 2 .

Wrappers in Mediator Systems Mediator systems require more complex wrappers than warehouse systems  Must be able to accept a variety of queries from the mediator and translate any of them to the terms of the source  .

query resul t Mediator query resul t query Wrapper query resul t Source 1 resul t Wrapper resul t Source 2 query .

Wrapper Wrapper connects a mediator to a source  Wrapper (aka “adapter”) translates incoming queries and outgoing answers  Wrappers are defined by templates  The wrapper generator creates tables of all possible templates  The driver and tables constitute the wrapper  .

red)  Uses the notation T=>S  ◦ Template T is turned by the wrapper into the source query S .g.Templates for Query Patterns  Design a wrapper ◦ Classify the possible queries that the mediator can ask into templates Templates are queries with parameters that represent constants (e..

color. model. model. dealer) .Templates Suppose we want to build a wrapper for the source of Dealer 1  Dealer 1  ◦ Cars(serialNo. …)  Mediator ◦ AutosMed(serialNo. color. navi. autoTrans. autoTrans.

model. color. =>  SELECT serialNo. „dealer1‟ FROM Cars WHERE color = „$c‟. autoTrans.Template: cars of a given color ($c) SELECT * FROM AutosMed WHERE color = „$c‟.  .

Templates  Other templates would be needed to deal with other queries ◦ Type of models: parameter $m ◦ Type of transmission: parameter $t ◦ Seat type: parameter $s N attributes. it is possible to simplify  . 2n possible templates  Number of templates could grow unreasonably large.

and the source queries that are associated with each  .Wrapper Generators A collection of templates is given to the wrapper generator (WG)  WG creates a table that holds the various query patterns contained in the templates.

Templates Queries from mediator Results Wrapper generato r Tabl e Driver Queries Sourc e Result .

Task of the driver Accept a query from the mediator  Search the table for a template that matches the query  The source query is sent to the source  The response is processed by the wrapper. and then returned to the mediator  .

then filter the returned tuples at the wrapper and pass only the desired tuples to the mediator  .Filters Not always realistic to write a template for every possible form of query  To have the wrapper filter the results of queries that it poses to the source  The wrapper has a template that returns a superset of what the query wants.

color. . „dealer1‟ FROM cars WHERE color = „$c‟. color. Set $c = „blue‟ TempAutos(serialNo. => SELECT serialNo. autoTrans. model. dealer) SELECT * FROM TempAutos WHERE model = „Civic‟. autoTrans. model.Example Filter: blue Civic SELECT * FROM AutosMed WHERE color = „$c‟.

Other Operations at the Wrapper  To transform data in other ways ◦ Columns may be projected out of the tuples before transmission to the mediator ◦ To take aggregations or joins at the wrapper and transmit the result to the mediator .

Mediator: find blue Civic and retrieve serial #. color. . transmission type and dealers SELECT * FROM AutosMed WHERE color = „$c‟. dealer) SELECT serialNo. color. model. dealer FROM TempAutos WHERE model = „Civic‟. model. autoTrans. „dealer1‟ FROM cars WHERE color = „$c‟. autoTrans. autoTrans. => SELECT serialNo. Set $c = „blue‟ TempAutos(serialNo.

model A1.model = A2.Examples   Mediator: find dealers s.dealer FROM AutosMed A1. AutosMed A2 WHERE A1.t there are two red cars of the same model.color = „red‟ AND A2. one manual and one automatic Query from mediator to wrapper: SELECT A1.autoTrans = „yes‟. .autoTrans = „no‟ AND A2.model AND A1.color = „red‟ AND A1.

SELECT DISTINCT A1. .dealer FROM RedAutos A1. dealer)   SELECT * FROM AutosMed WHERE color = „red‟.Example (Continued)  RedAutos(serialNo.autoTrans = „yes‟. A1. RedAutos A2 WHERE A1.model. model. color.autoTrans = „no‟ AND A2. autoTrans.model AND A1.model = A2.

Thank You!  The End! .