[aerogear-dev] Sync data model comparison

Lucas Holmquist lholmqui at redhat.com
Fri Jan 17 08:13:51 EST 2014


so i briefly looked at the spread sheet,  i'm concerned about having to keep 2 models on the client, especially on the mobile web,  since there is limited space( storage ) to work with as well as memory.  i wonder what the performance impact of this is?

it sounds cool though
On Jan 8, 2014, at 4:07 PM, Summers Pittman <supittma at redhat.com> wrote:

> So I'm not sure I see how the data model in the current sync spec helps 
> with syncing data.  Also the current spec draft is lacking a transport 
> format as well.
> 
> I propose using the dual shadow data model described here: 
> https://neil.fraser.name/writing/sync/
> 
> ## Data Model: and Transport:
> 
> Client side each piece of data which is currently in active 
> synchronization (ie the client is sending AND receiving updates at the 
> same time) has a copy of her data which represents the current assumed 
> good synchronized state.  She also has the copy of the data she is 
> editing.  When she has finished her edit (for an use case specific 
> defined by the developer definition of finish) the system will generate 
> a diff based on the JSON representations of her shadow and her model.  
> The model will replace the shadow and a diff of her data as well as a 
> checksum of her data will be sent to the server for processing.
> 
> Server side the server will maintain its own model of the shared data, 
> as well as shadows for each session currently sync the data. When it 
> receives a sync, the diff will be applied to the server's shadow of the 
> session which sent the diff.  If the diff merges cleanly and the 
> checksum of the server shadow matches the checksum in the transport, 
> then the server will update the canonical model of the data against what 
> was in the session's updated shadow.  The server will then diff all of 
> its sessions' shadows against its model and send out diff messages to 
> the clients.
> 
> I've made a spreadsheet* where I follow one of QMX's sample applications 
> and step through a few workflows with my proposed data model.  (This is 
> the data model I use in the DevNexus sync demo and the real time text 
> demo).  I would welcome someone to implement the use case with QMX's 
> proposed data model.
> 
> * 
> https://docs.google.com/spreadsheet/ccc?key=0AjSy-Z4v4qE-dGhESFU5R1BSWTF3RnliMjVic3JnbXc#gid=1
> 
> wdyt?  Who would mind doing the data flow for the other model?
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev




More information about the aerogear-dev mailing list