Presentation is loading. Please wait.

Presentation is loading. Please wait.

INRIA - Progress report DBGlobe meeting - Athens November 29 th, 2002.

Similar presentations


Presentation on theme: "INRIA - Progress report DBGlobe meeting - Athens November 29 th, 2002."— Presentation transcript:

1 INRIA - Progress report DBGlobe meeting - Athens November 29 th, 2002

2 Outline A reminder about Active XML 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 eBay.net/getOffers("Toys") eBay.net Pink panther … babel.org/translate("Czech", "English", crystal.cz/getToys() ) peer25/getAuctions([../@name])... getMyAuctions() … 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. Are enriched by each service call's results The returned nodes are inserted as brothers of the corresponding element. Can use XPath expressions for call parameters Relative path expressions are evaluated starting from the 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 let closeAuction($a) be for $b in $a/bid where $b/amount = max($a/bid/amount) return notifyWinner($b/who, $a/aID, $b/amount) closed 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. … 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. Basic AXML services are compatible with current standards for web services invocation. Used in AXML documents, AXML services are powerful tools for data integration.

5 AXML Architecture Query processor Evaluator query service descriptions read update read update consults SOAP wrapper SOAP AXML peer S3 SOAP service SOAP client AXML peer S1 service callservice result AXML document store AXML peer S2 AXML XML AXML 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 can bid on any auction: Using the placeBid(auctionId, amount) service, offered by the auction holder. Functional bidding system, without a centralized server 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 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.

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 would rather replicate on her PDA the relevant data and services, so that they can be called locally. Example A national US ski portal : Contains information about ski resorts, hotels. Provides services to query this information. 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. An internal report has been produced

11 Security and capabilities

12 Controlling service calls Active XML peers call each other’s services, therefore they exchange AXML documents, that may contain service calls. SOAP AXML peer S3 SOAP service SOAP client SOAP AXML peer S1 service call service result SOAP AXML peer S2 (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).

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 An internal report was produced

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.


Download ppt "INRIA - Progress report DBGlobe meeting - Athens November 29 th, 2002."

Similar presentations


Ads by Google