AXML 0403

Information about AXML 0403

Published on April 8, 2008

Author: Renato

Source: authorstream.com

Content

Active XML:  Active XML Serge Abiteboul INRIA-Futurs and Xyleme Gemo Project By: Omar Benjelloun, Bernd Amann, Jerome Baumgarten Angela Bonifati, Gregory Cobéna, Ioana Manolescu, Tova Milo and more Outline:  Outline Introduction AXML AXML documents AXML peer AXML as a client AXML as a server Extensions Architecture et implementation Applications Warehousing Mobile computing P2P auctions Conclusion Introduction:  Introduction Preamble: The new context of distributed data management:  Preamble: The new context of distributed data management Standard for data exchange, XML Extensible Markup Language Labeled ordered trees XML query languages: XPATH, Xquery Standards for distributed computing: Web services SOAP, WSDL Simple Object Access Protocol Activation of methods on remote web servers Xquery Xpath SOAP WSDL XML Distributed information management on the web?:  Distributed information management on the web? Data integration Mediation: e.g., data integration Warehousing of web resources Hybrid data integration Web portals, enterprise knowledge, comparative shopping, procurement, business intelligence, … Data management for cooperative work Data management for mobile applications Digital Libraries, B2C, B2G, B2B, X2Y E-commerce, E-government, E-procurement, E-something Data management for ambient computing, grid computing Network management Distributed data management in P2P Information is everywhere:  Distributed data management in P2P Information is everywhere services XML XML services XML XML XML XML services XML services XML Web Web service Web service Data warehouses Databases Web sites PC, PDA, cell phones, home appliances, cars… Goal of Active XML:  Goal of Active XML Facilitate distributed data management Focus on data integration in a peer-2-peer context Make the information available everywhere independently of the nature source AXML is a declarative language and an infrastructure to support the language E.g., for data integration, complementary to techniques such as Information Manifold Active XML:  Active XML Active XML documents:  Active XML documents XML documents with embedded Web service calls (SOAP) Intensional Some of the data is given explicitly whereas for some, its definition (i.e. the means to acquire it when needed) is given Dynamic If the external sources change, the same document will provide different information Reaction to world changes XML + embedded service calls (omitting syntactic details):  XML + embedded service calls (omitting syntactic details) <resorts state=‘Colorado’> <resort> <name> Aspen </name> <scond> Unisys.com/snow(“Aspen”) </scond> <hotels ID=AspHotels > …. Yahoo.com/GetHotels(<city name=“Aspen”/>) </hotels> </resort> … </resorts> May contain calls to any SOAP web service : e-bay.net, google.com… to any AXML web services to be defined Example: AXML document after service evaluation:  Example: AXML document after service evaluation <resorts state=‘Colorado’> <resort> <name> Aspen </name> <scond> Unisys.com/snow(“Aspen”) <depth unit=“meter”>1</depth> </scond> <hotels ID=AspHotels > …. Yahoo.com/GetHotels (<city name=“Aspen”/>) </hotels> </resort>… </resorts> Not a new idea in databases Not a new idea on the Web:  Not a new idea in databases Not a new idea on the Web Mixing calls to data is an old idea Procedural attributes in relational systems Basis of Object Databases In HTML world Sun’s JSP, PHP+MySQL Call to Web services inside documents Macromedia MX, Apache Jelly Active XML peer :  Active XML peer Peer-to-peer architecture Each Active XML peer Repository: manages Active XML data with embedded web service calls Web client: uses Web services Web server: provides (parameterized) queries/updates over the repository as web services AXML peer soap From XML server to AXML peer:  q1($1,$2) From XML server to AXML peer XML XML q1(a,b) SOAP answer Internet Web client XML-server AXML-peer AXML AXML (A) XML AXML Web services: :  AXML Web services: Arguments: Active XML Result: Active XML Distributed computing: by sending data containing service calls, one can delegate some work to other peers Partial computations: by returning data containing service calls, one can give to the receiver the control of these calls AXML peer as a client:  AXML peer as a client The main novel issue: the evaluation of calls:  The main novel issue: the evaluation of calls When to activate the call Where to find its arguments What to do with its result How long with the returned data remain valid What exactly to exchange: to-call-or-not-to-call When to activate the call:  When to activate the call Explicit pull mode Frequency: Daily, weekly, etc. After some event: e.g., when another service call completed This aspect of the problem is related to active databases Implicit pull mode : Lazy When the data is requested Difficulty : detect that the result of a particular request may be affected by a particular call This is related to deductive databases Push mode E.g., based on a query subscription; the web server pushes information to the client E.g., synchronization with an external source This is related to stream and subscription queries Fun technical issue: lazy mode:  Fun technical issue: lazy mode Management of intensional data Materialize only the minimal set of relevant data Non recursive: Given a query and a document What are the portions of the document involved in the query What are the lazy Web services that may contribute to this portion of the document Recursive case: related to deductive databases What to do with its result (1):  What to do with its result (1) Hotels is a data container Its red child is its implicit definition The result, a forest, is placed under Hotels When called more than once, one needs to define the merge policy (as an attribute of sc) Policy: a web service that takes two forest (old and new) as input E.g., append, replace, fusion… Append Replace Local fusion What to do with the result (2) More complex fusion:  What to do with the result (2) More complex fusion Global fusion Fusion of a result forest with the entire document or some specific sub-tree of the document Based on XML-ID: fusion of elements with same ID With global fusion, it is not possible to control which portions of the document may be affected by a service call The lazy mode becomes unfeasible – need to systematically reevaluate the service The schema of the result may provide some indications Where to gets its arguments:  Where to gets its arguments Specified as children of the service call node May also contain service calls In particular, path expressions ../../city_name Difficulty: the semantics of the service call should not depend of the context of the call When passing an AXML document, all paths that are context-dependent should have been resolved To call or not to call city “Colorado” GetCapital city “Denver” How long will the returned data remain valid:  How long will the returned data remain valid 0 Just long enough to answer a query Mediation 1 day, 1 week, 1 month… Caching Unbounded It may remain forever: archive It may remain until the service is called again in replace mode Until some explicit deletion Warehousing Various portions of the document may follow different policies Hybrid Example: AXML document with control attributes:  Example: AXML document with control attributes <resorts state=‘Colorado’> <resort> <name> Aspen </name> <scond> <sc valid=“1 day” mode=“lazy” > Unisys.com/snow(“Aspen”) <sc> </scond> <hotels ID=AspHotels > <sc valid=“1 week” mode=“immediate” > Yahoo.com/GetHotels(<city name=“Aspen”/>) </sc> </hotels> </resort> … </resorts> What exactly to exchange (Sigmod03):  What exactly to exchange (Sigmod03) A parameter of a call contains some service calls The result of a call contains some service calls Do we have to evaluate these calls before transmitting the data or not Hi John, what is the phone number of the CEO of INRIA? (33) 0156 00 01 Look in the yellow pages at Larrouturou in INRIA’s directory Find his name at www.inria.fr then look in the directory When exchanging data: to-call-or-not-to-call:  When exchanging data: to-call-or-not-to-call Alternative1 Send Unisys.com/GetTemp( <city> webster.com/GetCapital(“Colorado”)</city>) Alternative2 Call webster.com/GetCapital(“Colorado”) Send Unisys.com/GetTemp( <city>Denver</city>) Alternative3 Call webster.com/GetCapital(“Colorado”) Call Unisys.com/GetTemp(<city>Denver</city>) Send <t>25</t> Allow to control who does what city “Colorado” GetCapital When exchanging data: to-call-or-not-to-call :  When exchanging data: to-call-or-not-to-call Someone asks for information about Aspen Definition of an extension of XML schema that distinguish between Hotel* and () → Hotel* What is the expected type … SCond:sct… Hotels: Hotel* Evaluate all calls and return result … SCond:() → sct… Hotels: Hotel* Get the list of hotels that are not full and return result … SCond:() → sct … Hotels: () → Hotel* Do not evaluate any call and return result When to exchange data (digression):  When to exchange data (digression) Undecidable problem Some pspace complex subcase Muscholl, Schwentick, Segoufin Alternating tree automatas How is this controlled: typing :  How is this controlled: typing This is based on a compromise between client and server Server publishes a type for the service provided Client publishes a type for the service expected When sending a call, the client has to meet the requirements of the server When receiving a call, the server tries to meet the requirements of the client Problem (dynamic): given a document + a type + typing declaration for Web services, find which calls to evaluate to cast the document to that type Problem (static): find whether for any document of a particular type, there is always a rewriting to some target type AXML peer as a server:  AXML peer as a server Support for (continuous) queries and update of peer documents (provided proper access rights) Publish query services in Xquery, XOQL, XPATH…:  Publish query services in Xquery, XOQL, XPATH… AXML web services: defined using queries over AXML documents let service Get-Hotels($x ) be for $a in document(“my.resorts.com/resorts.axml")/resorts/resort, $b in $a//hotels/hotel where [email protected]=$x return <h> {$b/name} {$b/price} </h> Continuous services – Push mode:  Continuous services – Push mode Being implemented Provide/use continuous services let service Get-Hotels($x ) be continuous Surveillance of the list of available hotels changes Test this regularly (every hour, day, week, etc.) What to do when a change is detected Notification Send the new list Send the delta with the old list Asynchronous services and sessions Change control and in particular management of replication Pub/Sub, etc. Slide33:  AXML web services: defined using XML-Update over AXML documents – similar to Xquery AXML ID-based fusion Argument: a forest of trees where all the roots have IDs Fusion of each tree in the forest with the sub-tree of the document whose root has the same ID Local fusion Argument: the ID of the tree to modify and of the tree to “merge” it with Both fusion May result in adding/modifying information May lead to an error: the update is rejected Publish update services Extension:  Extension Security Distribution and replication Security:  Security Peers exchange AXML documents containing service calls A server (resp. client) might ask the client (resp. server) to do something « bad »: <sc>qod.com/QuoteOfDay </sc> <quote date=“july 8th 2002”> My heart was bumping <context>Nikoloz Tskitishvili, picked 5th in the NBA draft by the Denver Nuggets</context> <sc>buy.com/BuyCar(« BMW Z3 »)</sc> </quote> Security - continued:  Security - continued Access rights in a peer P Access rights on the data managed by the peer For each client, the calls that P is willing to serve For each server, the calls that P is willing to request Control via the type of the arguments and result Trivial example (pure XML client): I accept no call; I send and receive only purely extensional data Distribution and replication (Sigmod03):  Distribution and replication (Sigmod03) Devices with limited capabilities Cell phone, pda, home appliances… Storage space Computational power Network bandwidth Therefore, we need to: Distribute the work among devices, by: Calling external services ( done !) Distributing documents across several devices (peers) Replicate documents and services, to allow for “local” computation and improve parallelism Distribution and replication:  Distribution and replication An AXML document may be distributed between several peers + some of it may be replicated Example:  Example Suppose that access to guides of resorts in Colorado is charged I may want to replicate the Aspen guide on my PDA (some of the data is intensional) I want it also replicated on a proxy Some of it may be only on the PDA (e.g., some pictures) The intensional data (e.g., temperature) has to be refreshed regularly on my PDA When I annotate the guide in my PDA, I want the annotations to be replicated on the proxy to be used by the entire family and my friends Query rewriting and optimization :  Query rewriting and optimization Query q q1 q2 Answer Web services are used to support query evaluation Update and synchronization :  Update and synchronization Update u u1 synchronization Web services are used to support synchronization Technical issues:  Technical issues A data model for AXML with distribution and replication Query and update language; by default, ignore distribution + replication Means to specify explicitly a particular copy Supported by AXML Web services Query evaluation Cost model Optimization and load balancing when there is replication Update propagation to support replication Decide which data and services to replicate to improve performances When replicating a service, need to replicate data that it uses for improving performances, need to adapt the code Architecture and implementation:  Architecture and implementation Global architecture:  Global architecture query read update SOAP wrapper SOAP SOAP AXML peer S3 SOAP service SOAP client AXML peer S1 AXML peer S2 AXML XML AXML AXML AXML store service descriptions AXML engine Query engine Implementation :  Implementation SUN’s Java SDK 1.4 XML parser XPath processor, XSLT engine Apache Tomcat 4.0 servlet engine Apache Axis SOAP toolkit 1.0 X-OQL query processor persistent DOM repository JSP-based user interface JSTL 1.0 standard tag library V0 – demo at VLDB’02 P2P auctioning system Status:  Status Prototype V0 available Work for V1 Implemented and not integrated in the system: Typing to control partial evaluation of arguments and result of calls Lazy evaluation Distribution and replication Continuous services Light peer on a telephone Illustration :  Illustration Applications that are being considered at different stages P2P Auction VLDB02 demo:  P2P Auction VLDB02 demo Each peer proposes auctions: Document myauctions.xml with the peer’s items and their current bids Services offered: getLocalAuctions(), status(auctionId) Each peer bids on auctions: Document mybids.xml with the peer’s bids Service offered: bid(peer,auctionId, amount) bidUpTo(peer, auctionId, increment, limit) Each peer knows about other peers’ auctions: Document allauctions.xml contains calls to other peers that transitively retrieve their known auctions. Service offered : getAllAuctions() When an auction closes, the winner is notified. Warehousing of Web resources :  Warehousing of Web resources Construction of warehouses with web data Global schema + high level spec (GUI)  compiled to AXML Services used to feed information, enrich it and monitor it Google search engine Crawler: Wget (Xyleme – not yet integrated) Classification (in Greece) Clustering XyDiff and site changes, etc. RNTL Project e.dot on food risk Mobile data :  Mobile data AXML peers as mobile entities Active data store with query capabilities Metadata and object profiles Storage services for mobile objects Processing services for mobile objects For mobile: use proxies to store private data, perform processing, provide specific services European Project DBGlobe on Globe computing Mobile data (continued):  Mobile data (continued) Light-weight AXML peers PDA, cellular phone, laptop… Limited storage, network bandwidth Sometime disconnected Limited functionalities Have to rely on proxies Support for continuous services based on a mail server and SMTP Need a naming scheme Mobile data (continued):  Mobile data (continued) Context awareness Where am I? (geographical position) Where is the « nearest » peer proxy? (network position) Active use of this information For providing context dependent data (e.g., time, temperature, nearest restaurants, etc.) For selecting services (e.g., choose a nearby proxy for caching) Network management:  Network management Use AXML exchange of information to configure hardware/software components Use AXML for component awareness Use AXML for re-configuration Experiments @INRIA-Rennes Ambient computing:  Ambient computing House appliances, cars, telephone, PDA, PCs, etc. carry AXML Exchange of information in AXML European project submission [email protected] Conclusion:  Conclusion AXML services:  AXML services A simple, data-centric, declarative way to use and create web services compatible with current standards for web service invocation A powerful means of rapidly deploying data-centric, P2P, Web applications Combination in a P2P context of Deductive databases (intentional information) Active databases Distributed databases Stream data and pub/sub Synchronous and asynchronous messaging Many issues Simple idea, complex system…:  Many issues Simple idea, complex system… Security Control of call activation via typing Access control Lazy evaluation and optimization Replication and distribution Mobility Termination Implementation Foundations And more Other issues that should be considered:  Other issues that should be considered Editor for AXML (person-machine interface) AXML peer on a mass storage XML repository More applications Merci:  Merci

Related presentations


Other presentations created by Renato

promo selling pricing
14. 01. 2008
0 views

promo selling pricing

TIMELINE
21. 03. 2008
0 views

TIMELINE

website
09. 01. 2008
0 views

website

JAXA
11. 01. 2008
0 views

JAXA

RRC 05 Garcia slides
11. 01. 2008
0 views

RRC 05 Garcia slides

Youth Culture
14. 01. 2008
0 views

Youth Culture

Shutz interpersonal
17. 01. 2008
0 views

Shutz interpersonal

CocoaTree
18. 01. 2008
0 views

CocoaTree

tfgc 3
22. 01. 2008
0 views

tfgc 3

energy ecosystem
24. 01. 2008
0 views

energy ecosystem

p6agriculture
21. 01. 2008
0 views

p6agriculture

07 08 23 TDI
04. 02. 2008
0 views

07 08 23 TDI

Fireworks
05. 02. 2008
0 views

Fireworks

milmedlectadvventmgt
05. 02. 2008
0 views

milmedlectadvventmgt

Student Life at Bristol
05. 02. 2008
0 views

Student Life at Bristol

FingarPaper
08. 02. 2008
0 views

FingarPaper

GPS DerivedHgts1
11. 02. 2008
0 views

GPS DerivedHgts1

AR4WG1 Ch04 Figs 2007 06 05
22. 01. 2008
0 views

AR4WG1 Ch04 Figs 2007 06 05

ClinicRedesignVI
28. 01. 2008
0 views

ClinicRedesignVI

High School Presentation
29. 01. 2008
0 views

High School Presentation

B ProductInformationFi le
10. 01. 2008
0 views

B ProductInformationFi le

unit4 reading
07. 02. 2008
0 views

unit4 reading

certain to win
14. 02. 2008
0 views

certain to win

pps 328
14. 02. 2008
0 views

pps 328

ms231 lecture05
18. 02. 2008
0 views

ms231 lecture05

molecular basis diseases II
25. 02. 2008
0 views

molecular basis diseases II

John Elkington
24. 01. 2008
0 views

John Elkington

LH Helicobacter pylori
28. 02. 2008
0 views

LH Helicobacter pylori

Template 1
07. 02. 2008
0 views

Template 1

InteriorHealthBC
07. 03. 2008
0 views

InteriorHealthBC

hair
10. 03. 2008
0 views

hair

cohen
11. 03. 2008
0 views

cohen

Article1
12. 03. 2008
0 views

Article1

ESTOTIA
16. 03. 2008
0 views

ESTOTIA

L2WLaunchPresentation
19. 03. 2008
0 views

L2WLaunchPresentation

Trade with Canada
16. 04. 2008
0 views

Trade with Canada

Lsn 20 Greece and Alexander
17. 04. 2008
0 views

Lsn 20 Greece and Alexander

050802schoolsport
18. 04. 2008
0 views

050802schoolsport

North Korea
21. 04. 2008
0 views

North Korea

ch2S08govt2301
22. 04. 2008
0 views

ch2S08govt2301

200710804924610
24. 04. 2008
0 views

200710804924610

The Barriadas of Lima GA
30. 01. 2008
0 views

The Barriadas of Lima GA

Rollo
07. 05. 2008
0 views

Rollo

BookII Unit1
30. 04. 2008
0 views

BookII Unit1

Bengel
21. 01. 2008
0 views

Bengel

a9 asia report
23. 01. 2008
0 views

a9 asia report

185 1
06. 02. 2008
0 views

185 1

mobil
13. 02. 2008
0 views

mobil

SymposiumTestimonials
13. 02. 2008
0 views

SymposiumTestimonials

AOLVisit hbn092303
25. 03. 2008
0 views

AOLVisit hbn092303

wedding2
29. 01. 2008
0 views

wedding2

10 01 2006 ROTS 3
05. 02. 2008
0 views

10 01 2006 ROTS 3

SmartSocketsForDIP
11. 01. 2008
0 views

SmartSocketsForDIP

shopp outlook
23. 01. 2008
0 views

shopp outlook

FloridaRTCfinal
12. 01. 2008
0 views

FloridaRTCfinal

Desenvolvimento mobile
03. 06. 2014
0 views

Desenvolvimento mobile

SocialStudies
31. 03. 2008
0 views

SocialStudies

Smith
25. 01. 2008
0 views

Smith

nutmeg ppoint 2007
12. 02. 2008
0 views

nutmeg ppoint 2007

Webinar mobile commerce
17. 07. 2014
0 views

Webinar mobile commerce

sverige blir till 3
07. 02. 2008
0 views

sverige blir till 3

Setor de Supermercados
14. 01. 2008
0 views

Setor de Supermercados