Presentation is loading. Please wait.

Presentation is loading. Please wait.

XML I NTEGRATOR Google Wave Gadget. P URPOSE Create mapping from one XML schema to another XML schema Support collaborative creation of that mapping Export.

Similar presentations


Presentation on theme: "XML I NTEGRATOR Google Wave Gadget. P URPOSE Create mapping from one XML schema to another XML schema Support collaborative creation of that mapping Export."— Presentation transcript:

1 XML I NTEGRATOR Google Wave Gadget

2 P URPOSE Create mapping from one XML schema to another XML schema Support collaborative creation of that mapping Export that mapping as a XSLT transformation

3 W HAT ’ S A MAPPING ? I Translation of one or many XML elements in the source XML to an element in the destination XML More precisely, XML is a tree hierarchy of XML elements. This hierarchy structure can be defined using XSD or other ways, ex. DTD. But XSD is mostly used, therefore was chosen as the source of XML structure for this application.

4 W HAT ’ S A MAPPING ? II Usually, it’s required to modify the source element, so it can be mapped to a destination element. Therefore mapping must contain definition of this modification.

5 M APPING LIFECYCLE 1) Choose source and destination XSD 2) Add mappings 3) Create XSLT 4) Apply to a XML

6 E XAMPLE OF A MAPPING

7 M APPING DEFINITION Transformation type Maximal number of inputs (optional) XPath expression (optional) Inputs map Output list

8 T RANSFORMATIONS NameInputsBoundedXPathXPath enabled Identity1● Sorted2● Condition2● Sequence1 Copy-of1 Value-of1 Concatenation1 Longer2● XPath1string(#0)●

9 I MPLEMENTATION – DATA STRUCTURES XML Mapping Model Source schema Destination schema Elements mappings

10 T YPES OF EDITS Add mapping Remove mapping Change mapping’s transformation Translate mapping inside editor Add connection between mapping and other elements Source element, destination element, another mapping Remove connection

11 G OOGLE W AVE Google Wave Wave Robot State Server DB User

12 E DIT DATA STRUCTURE ID Author Type Other attributes depending on the type of edit

13 E DIT LIFECYCLE User creates an edit Sends it to State server Servers merges it into model Receives edit ID This ID is from increasing number sequence Puts edit into Gadget state Receives new Gadget state Merges all newer edits into local model Newer merges edit with ID higher than last edit processed by State server to the local instance of the mapping model

14 G ADGET STATE OVERVIEW User A User B User C State Server and Wave Robot Database Gadget State User A edits the mapping 1)Sends edit to State Server 2)State Server processes the edit (saves merged state to database) and returns edit ID 3)Edit ID and Edit is submit to Gadget state 4)Gadget state is send to each user and robot

15 G ADGET STATE OVERVIEW II Size limit defined by Google is 100KiB for gadget state Therefore mapping state is being held on State server Inside gadget state are some state attributes and especially set of the edits made by users When the state’s size would be greater than 100KiB, than Robot clear state and forces users to reload mapping state from the State server

16 P ROTOCOL – DATA STRUCTURES Model ID Version Last edit ID List of edits Edit ID Edit content

17 M ERGING Edits are sorted by their ID Each is processed If there would be any conflicts, the last wins, or will be ignored All edits show in the edit log

18 C ONFLICTS User wants edit/remove already removed mapping Edit/remove is being ignored In other cases the last edit wins

19 B EFORE EXPORT CHECK Not all mappings are compatible with each other, so there must be check before the export to XSLT Also there mustn’t be any cycle

20 L IMITS OF THE GADGET In source even in destination XSD mustn’t be any recursive structure. Otherwise the model will limit the depth of the recursion to 1.

21 E XAMPLE XSLT


Download ppt "XML I NTEGRATOR Google Wave Gadget. P URPOSE Create mapping from one XML schema to another XML schema Support collaborative creation of that mapping Export."

Similar presentations


Ads by Google