HTML5 has shifted the original model of the web from a thin client
architecture to a thick client architecture.
In such setup, the browser runs a full-fledged application with a
client database, namely IndexedDB, that synchronises with the Cloud.
This new generation of application puts a tremendous amount of
pressure on two aspects of the HTML5 database: complex query
processing of the client data and synchronisation with the Cloud.
We think that XQuery can help.
The goal of this presentation is to showcase how XQuery can be used in
the context of HTML5 applications.
First, XQuery is a powerful query language to process the
semi-structured data that lives in the browser.
Moreover, declarative updates from XQuery can be used to efficiently
synchronise an HTML5 databases with the Cloud.
We will introduce a master-to-master replication protocol between
IndexedDB and MongoDB entirely based on the composition of
pending update lists.
We will demonstrate the protocol in action and detail the various
interaction between HTML5 and XQuery in this context.