1 / 16

INRIA –WP4

INRIA –WP4. DBGlobe review meeting - Cyprus January, 2003. Outline. Active XML: data integration and querying platform AXML documents & services System architecture The VLDB’02 Demo Distribution and replication Motivation: small mobile devices Example and issues Contributions

stew
Download Presentation

INRIA –WP4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INRIA –WP4 DBGlobe review meeting - Cyprus January, 2003

  2. Outline • Active XML: data integration and querying platform • AXML documents & services • System architecture • The VLDB’02 Demo • Distribution and replication • Motivation: small mobile devices • Example and issues • Contributions • Security and capabilities • Controlling service invocations • Why ? • How we do it: using schemas. • Conclusion

  3. AXML Documents • May contain calls to any SOAP web service • e-bay.net, google.com, babel.org, etc. • AXML peers also offer web services. • Locally defined services can be called. <knownAuctions ID="peer10"> <category name="Toys"> <sc>eBay.net/getOffers("Toys")</sc> <auction id="1254" > <heldBy>eBay.net</heldBy> <item>Pink panther</item> </auction> … <sc>babel.org/translate("Czech", "English", <sc>crystal.cz/getToys()</sc>)</sc> <sc>peer25/getAuctions([../@name])</sc> </category> ... <sc frequency="once" >getMyAuctions()</sc> … </knownAuctions> • Are enriched by each service call's results • The returned nodes are inserted as brothers of the corresponding <sc> element. • Can use XPath expressions for call parameters • Relative path expressions are evaluated starting from the <sc> element. • Activation of calls and data lifespan are controlled • frequency: when is the service called ? • validity: how long is the retrieved data kept ? • mode: immediate or lazy ? AXML Documents are powerful data integrators.

  4. AXML Services • A simple, declarative way to create web services… • A service operation is specified as a query with parameters. • It may query (local) AXML documents. • It is made available on the web using the SOAP protocol. let closeAuction($a) be for $b in $a/bid where $b/amount = max($a/bid/amount) return <sc mode="immediate" frequency="once"> notifyWinner($b/who, $a/aID, $b/amount) </sc> <status>closed</status> Basic AXML services are compatible with current standards for web services invocation. • … which allows for new, powerful features. • Intentional parameters and results: AXML documents (containing service calls) can be exchanged. • Continuous services send back a stream of answers (SOAP messages) to the caller. Used in AXML documents, AXML services are powerful tools for data integration and querying.

  5. AXML Architecture AXML peer S2 AXML peer S1 query SOAP Query processor Evaluator AXML AXML peer S3 AXML read update SOAP wrapper read update consults SOAP service descriptions SOAP service XML AXML document store AXML SOAP client service call service result • Technical environment: • SUN’s Java SDK 1.4 (includes XML parser, XPath processor, XSLT engine) • Apache Tomcat 4.0 servlet engine • Apache Axis SOAP toolkit 1.0 beta 3 • X-OQL query processor, persistant DOM repository • JSP-based user interface, using JSTL 1.0 standard tag library

  6. The VLDB’02 Demo Each peer provides some auctions: • An AXML document holds the auctions offered by the peer • Services offered to other peers on these auctions: • getAuctions(), • getHighestBid(auctionId), • placeBid(auctionId, amount) Each peer can bid on any auction: • Using the placeBid(auctionId, amount) service, offered by the auction holder. Each peer knows about some peers’ auctions: • An AXML document, containing calls to other peers, transitively retrieve their know auctions, thanks the intensional answers mechanism. • This knowledge is shared, by providing the getKnownAuctions() service. When an auction closes, the winner is notified. Functional bidding system, without a centralized server

  7. Distribution and replication

  8. Motivation • Devices have limited: • Storage space • Computation power • Network bandwidth • Therefore, we would like to: • distribute the load among devices, by: • Using several services (we already do !) • Distributing documents across several devices. • replicate documents and services, to allow for “local” computation.

  9. A user has a PDA, and is in Colorado. We could let her call the ski portal services, We wouldrather replicate on her PDA the relevant data and services, so that they can be called locally. A national US ski portal : Contains information about ski resorts, hotels. Provides services to query this information. Example • Issues : • How do we know which data / services should be replicated ? • How to adapt the replicated code ? • The PDA has limited resources / capabilities, therefore: • We need a rationale (cost model) to choose what to replicate • We should “link” to the parts that were not replicated distributed documents

  10. Contributions • We developed: • A data model for AXML with distribution and replication • A location-aware extension of XQuery to handle distributed/replicated data and services. • A cost model for the peer-to-peer context, measuring the “observable performance” of each peer • An Algorithm (based on the cost model) that determines • What data/services need to be copied ? • How to adapt the service code ? • Implementation work is about to start. • A paper describing the results, to appear in SIGMOD’03

  11. Security and capabilities

  12. AXML peer S2 SOAP AXML peer S1 AXML peer S3 SOAP SOAP service call service result Controlling service calls • Active XML peers call each other’s services, therefore they exchange AXML documents, that may contain service calls. (A)XML documents • When such a document is exchanged, the services calls it contains can be invoked : • by the sender (before sending the document) • or the receiver (after receiving it). SOAP service SOAP client

  13. Why controlling calls ? • For security reasons or capabilities, e.g.: • I don’t trust this service/domain • I don’t have the right credentials to invoke it, or it costs money. • I don’t know how to deal with a service call, because I don’t know Active XML ! • For performance reasons, e.g.: • a proxy can invoke all the services on behalf of a PDA. • … and many others.

  14. How we do it: With types ! • Since web services provide XML Schemas for their input and output parameters (WSDL)… • … We extend XML schemas to describe the service calls of AXML documents. • An AXML document can be exchanged (as a service input or output parameter) iff it matches an agreed upon (extended) schema. • We provide algorithms to make a document conform to a schema: • It finds which service calls should be invoked • This is an inherently recursive process, since these calls may return data that contains service calls. • A prototype was implemented • A paper describing the results, to appear in SIGMOD’03

  15. Conclusion • We extended Active XML in two directions that we believe to be useful for the DBGlobe project. • But there are many others ! • Does this fit with your vision of the architecture ? • Your feed-back is welcome.

  16. Thank you.

More Related