Title: INRIA - Progress report
1INRIA - Progress report
- DBGlobe meeting - Athens
- November 29th, 2002
2Outline
- 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
3AXML 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.
4AXML 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.
5AXML 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
6The 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
7Distribution and replication
8Motivation
- 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.
9Example
- 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
10Contributions
- 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
11Security and capabilities
12Controlling 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
13Why 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.
14How 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
15Conclusion
- 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.
16Thank you.