INRIA - Progress report - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

INRIA - Progress report

Description:

INRIA Progress report – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 17
Provided by: Sint5
Category:
Tags: inria | progress | report

less

Transcript and Presenter's Notes

Title: INRIA - Progress report


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

2
Outline
  • A reminder about Active XML
  • AXML documents services
  • System architecture
  • The VLDB02 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.
  • ltknownAuctions ID"peer10"gt
  • ltcategory name"Toys"gt
  • ltscgteBay.net/getOffers("Toys")lt/scgt
  • ltauction id"1254" gt
  • ltheldBygteBay.netlt/heldBygt
  • ltitemgtPink pantherlt/itemgt
  • lt/auctiongt
  • ltscgtbabel.org/translate("Czech",
    "English",
  • ltscgtcrystal.cz/getToys()lt/scgt)lt/scgt
  • ltscgtpeer25/getAuctions(../_at_name)lt/scgt
  • lt/categorygt
  • ...
  • ltsc frequency"once" gtgetMyAuctions()lt/scgt
  • lt/knownAuctionsgt

Are enriched by each service call's results The
returned nodes are inserted as brothers of the
corresponding ltscgt element.
Can use XPath expressions for call
parameters Relative path expressions are
evaluated starting from the ltscgt 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
  • ltsc mode"immediate" frequency"once"gt
  • notifyWinner(b/who, a/aID, b/amount)
  • lt/scgt
  • ltstatusgtclosedlt/statusgt

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.
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
  • SUNs 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 VLDB02 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 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.
  • Each peer can bid on any auction
  • Using the placeBid(auctionId, amount) service,
    offered by the auction holder.
  • 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
Example
  • 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.
  • 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 others 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 dont trust this service/domain
  • I dont have the right credentials to invoke it,
    or it costs money.
  • I dont know how to deal with a service call,
    because I dont 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.
Write a Comment
User Comments (0)
About PowerShow.com