javascript - Solution for optimistic object replication between Java server and browser clients? -


i'm building system multiple users need create, view , modify set of objects concurrently.

  • the system planned run on java server , modern browser clients (i pick ones).
  • it needs robust in face of network , server outages, user interface must not block modifications, modifications need stored locally , published when connectivity returns.
  • under normal operation changes should replicate sub-second latency.
  • network latency , bandwidth, cpu resources unlikely big issues, scale on order of tens hundreds of clients.
  • the objects can considered structures of atomic values , sets of structures (i.e. trees). seems references between objects unnecessary.
  • i'm happy last-write-wins conflict resolution on attribute level, don't have particular requirements snapshot consistency. report write conflicts through ui though.
  • initially i'm looking solve replication between server , multiple clients. in future i'll need multi-level trees too. arbitrary replication structures not necessary, make failover or multi-master easier.

the issue i'm in trouble replicating changes objects between systems. distributed concurrency hard , i'd delegate complexity knows he's doing. libraries/frameworks out there replication part?

i found xstm , mission seems need, unfortunately gwt part doesn't seem ready yet , project seems have uncertain future.

if there's nothing useful out there, i'm looking ideas on algorithms this?

i'm thinking of inspired dvcs , operational transform. server accept change-sets objects , reject conflicting writes. clients track last known server state , locally made changes, detect conflicts between published changes , local changes , rebase unconflicting local changes on top of received server state.

is distributed database cassandra option ? provides more need , needs @ lest 3 nodes running though.


Comments

Popular posts from this blog

400 Bad Request on Apache/PHP AddHandler wrapper -

Add email recipient to all new Trac tickets -

php - Change action and image src url's with jQuery -