Exchanging Intensional XML Data

  • Published on
    06-Jan-2016

  • View
    18

  • Download
    0

DESCRIPTION

Exchanging Intensional XML Data. Tova Milo, INRIA & Tel Aviv University Serge Abiteboul, INRIA & Xyleme S.A. Bernd Amann, CNAM Omar Benjelloun , INRIA Frederic Dang Ngoc, INRIA. SIGMOD 2003 San Diego. Introduction. Intensional documents. Early days of the web - PowerPoint PPT Presentation

Transcript

  • Exchanging Intensional XML DataTova Milo, INRIA & Tel Aviv UniversitySerge Abiteboul, INRIA & Xyleme S.A.Bernd Amann, CNAMOmar Benjelloun, INRIAFrederic Dang Ngoc, INRIA

    SIGMOD 2003 San Diego

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Introduction

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Intensional documentsEarly days of the webExtensional data (static HTML)CGI scripts (perl, ) Code is executed to generate data.Intensional data HTML with embedded code (php, jsp, ) Embedded code is executed before sending data.XML with embedded calls to Web services Calls are still evaluated before sending (Jelly, MX, ).Active XML Calls do not have to be evaluated before sending data.Advantages of intensional dataMore information: it shows how data is generatedDynamic: it provide the means, e.g. to refresh data Control the exchange of intensional data (to call or not to call?).

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Web services in a nutshellA number of standardsXML, SOAP, WSDL, UDDI,

    Means to provide, invoke and describe remote functions with XML input/output.

    They make intensional documents exchangeable.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Context: Active XML (AXML)A language: XML with embedded service callsA peer-to-peer systemEach peerRepository of intensional (AXML) documentsServer: provides Web services (XQuery)Client: when invoking the embedded service callsAnd many more cool featuresdistribution and replicationcontinuous servicesetc.AXML peers exchange intensional data.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • OutlineIntroductionIntensional dataSchema-controlled exchange of intensional data Safe rewriting algorithmConclusion

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Intensional data

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Materialization

    Le Monde 06/10/2003 Paris exhibits

    Le Monde06/10/200316C Materialization: replacing a service call by its result. Its a recursive process. Paris

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • To call or not to call ? Materialization can be performed by the sender, before sending a document or by the receiver, after receiving it.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Why control the materialization of calls?For added functionality, e.g. Intensional data allows to get up-to-date information.For security reasons or capabilities, e.g.I dont trust this Web service/domain,I dont have the right credentials to invoke it, It costs money,Maybe the receiver doesnt know Active XML!For performance reasons, e.g. A proxy can invoke all the services on behalf of a PDA. and many more reasons you can think of!

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • How to control it? Using typesWe extend XML Schema, with intensional types: XMLSchemaintStatic analysis algos use signatures of services: WSDLint

    .........r...............gfq...Data exchange schemafqgggggggqqqffrr

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Schema-controlled exchange

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • The extended schema language Datanewspaper= title.date.(GetTemp|temp).(GetEvents|exhibit*)title= datadate= data temp= data city= data exhibit= title.(GetDate|date)FunctionsGetTemp(city)-> tempGetEvents(data)-> (exhibit|performance)*GetDate(title)-> date

    Rewriting: replace call(s) by an arbitrary output of the service.To simplify, we use here a DTD-like syntax

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • RewritingsThe GoalGiven an intensional document d a schema s, Can we rewrite d so that it matches s?

    Safe rewriting: one that for sure leads to s(we know without making any call).

    Possible rewriting: one that possibly leads to s (depending on the answer of the service).

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • DifficultiesInfinite search spaceVerticalHorizontalMain problem The result of a Web service call is unknown,We just know a signature (input/output types)We want a very efficient solution.Foundations of the problem tree automata, with existential and universal transitions.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • ResultsRestrictions on the considered rewritingsLeft-to-right: No going back and forthK-depth: bound on the nesting of function calls (Search space still infinite but finitely representable)Under these restrictionsWe have algorithms to find safe/possible rewritings.They are PTIME (for deterministic schemas).We can also do it between schemas.Recent follow-up work by [MSS03]The general problem is undecidable.Some complexity results.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Safe rewriting algorithm

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Safe rewriting algorithmSketchDeal with function parameters,Traverse the tree top-down,For each data node, rewrite its children.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Rewriting the input parameters of callsTo invoke a service, the parameters must match its signature.Finish by rewriting the document.Move recursively upwardStart from the deepest calls

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Safe rewriting algorithmSketchDeal with function parameters,Traverse the tree top-down,For each data node, rewrite its children.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Rewriting a nodes childrenWe haveThe children: title.date.GetTemp.GetEventsThe type to match: title.date.temp.(GetEvents|exhibit*)Output types of services:GetTemp -> tempGetEvents-> (exhibit | performance)*Three stepsBuild an FSA that accepts all k-depth rewritings of the word. Build an FSA that recognizes the complement of the type.Compute their intersection to find a safe rewriting.Smarter algo in the system: lazy automata construction.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Rewriting a nodes children accepts all k-depth rewritings of the word.

    This is for title.date.GetTemp.GetEventsOutput types of servicesGetTemp-> tempGetEvents-> (exhibit | performance)*GetEventsq2dateq3GetTempexhibitperformancetemp

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Rewriting a nodes children (2) is the complement automaton for the target type.

    Newspaper = title.date.temp.(GetEvents|exhibit*)GetEventsp6*exhibitexhibit******

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Rewriting a nodes children (3)

    q0,p0q1,p1q2,p2q3,p3q4,p4q6,p3q5,p2q3,p6q7,p6q4,p6q7,p6q7,p3q4,p3q7,p5q4,p5titledatetempGetEventsGetEventsperformanceperformanceGetTempperformanceexhibitexhibitexhibitA safe rewriting exists!title.date.GetTemp.GetEventstitle.date.temp.GetEvents

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Other algorithms (in the paper)Possible rewritingSchema compatibilityVerifies that all instances of a schema safely rewrite to instances of another schema.Key idea: It is sufficient to check a finite number of instance representatives.

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • ConclusionSchema-controlled exchange of intensional dataImplemented as part of the Active XML systemFun applicationsEasy customization of Web services (VLDB03 demo) Types form the basis to match client preferencesSurveillance of an AXML application (call tracing)PerspectivesExtend with automatic data conversion Further optimize the algorithm (notably, for simple cases)

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Active XMLa language and peer-to-peer system based on XML with embedded calls to Web servicesVLDB02 demoSIGMOD session, tomorrow morninghttp://www-rocq.inria.fr/verso/Gemo/Projects/axml(or google://ActiveXML)Lots of cool applicationsmobile computing, network configuration, warehouse of web resources

    Shameless advertisementShameless advertisement

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

  • Merci

    Omar Benjelloun - Exchanging AXML Data - SIGMOD 2003

    Say explicitely that some parts are extensional and others are intensional, and what that means.

    Djay ess pee

    Searation of logic and data. Not clear (cf valduriez bda)Ne pa expliquer pourquoi tcontc on voit ca plus tard

    Tova :

    1st : static data (HTML/XML) -> dynamic HTML/XML -> dynamic part generated by service calls.The last is an important feature and has a lot of properties.

    Change slide (maybe)

    2nd : XML documents are exchanged. We are going to talk about the exchange of the last category, brings new problems, capabilities, features.

    3rd ; The special thing about the exchange is to call or not to call.

    We do it with types (extended XML Schema).

    A drawing to visualize what are SOAP and WSDLTOva: Do rather a slide on standards. XML, XML Schema, SOAP, WSDL, etc. Just give the list and say one word on each keep sentences in red, maybe at the end.

    Cut: A language and a system based on the exchange of intensional XML

    Cut: Supports services with intensional input/output

    Too much stuff on this slideIt is not readable and really bad, cut it into many pieces

    Context: the axml system

    Peer-to-peer architecture,Repository of intensional documents,Declarative service specificationServices with intensional input/outputSupport for data integration.

    And many more cool features that we dont discuss here.

    The exchange of intensional documents.

    We show how to control which calls are evaluated before sending, and which are not.

    We use types to control the exchange.

    We provide algorithms to make intensional documents match the expected types.

    Was Materialization of Explain the document, the extensional and the intensional parts (the 2 scs) , by going over itSimplify this slide

    Just the sender and the receiver and one service provider.

    Small rep of document with color lines for service calls, and arrows to show the choice of calling before or after.

    speech: Give an example, the receiver can call getTemp whenever he wants.In general, give concrete examples, especially for security.

    Was : I dont know Active XMLFaire une petite animation

    When calling /answering a Web service:WSDL provides XML Schema types for the input/output parameters of Web services operations.We similarly extend WSDL into WSDLint

    Fix the drawing.

    Backward compatibility: A purely extensional XMLSchemaint is a valid XMLSchema.This extends to WSDL, when only extensional types are involved for input and output parameters of Web services.

    Lets see the details now !!!!!Dont replace the type, just put a cross on the service calls

    Show on the example if GetTemp is not allowed -> we know for sure we can get to the result, without calling

    But for GetEvents, we dont really know until we call.

    Define rewriting -> its a static analysis, that replaces a call by any arbitrary output, Emphasize may and not possible (frenchism).

    Say why safe is better than possible. (cost example)Say the global algo: try safe, then possible, if fails no point to call.

    Change the title ? A longer one add animation for infinite search space or drawing.

    You should know what youre talking about on the foundations

    You said something about the fact that its a runtime/dynamic task, but it wasnt clear enough.

    Say that left to r is for efficiency

    Say if they exist

    Stress that search space is still infinite, the pb is still difficult.

    Explain what is schema rewriting.Lazy construction of automata should be removed, it comes later.

    Repeat this slide later to follow whats going onToo many clicks

    Explain that the parameters must be rewritten, and they may contain service calls with params, and so on

    MayLazy construction of automata should be removed, it comes later.

    Repeat this slide later to follow whats going onYou messed up with grammars words, etc. You must be precise.It recognizes the letters of the alphabet -> the labelsExplain what are fork nodes, epsilon transitions, etc.Intial state - final state

    Dont give an example of how this automaton works, you lost time here.Say just what star stands for.Go faster: mark nodes at once, show the pathJust say bad words marked.Change colors to lighter onesSay cross product and intersection of languages.

    Tova, I dont understand why q3,p6 should be treated differently from the original fork nodes.Remind people that they saw safe rewriting, and that we also look for possible rewriting

    The conclusion if weak, especially the perspectives, and what this relates to.Simpler and not more simple.Revert the order

Recommended

View more >