Hi,
we had a meeting on this 'server side' sync topic. In terms of delivering a 'quick solution' around JavaEE (JAX-RS/JPA):
Erik's sent a PR to forge (see [1]) and Erik started a branch on adding the minimal/quick solution to our Quickstarts (atm: Cordova and Server):
==> It basically is "optimistic locking" and returning 409 to the client, telling there is a conflict; NOTE: there is NO merge.
What we could do....
* Provide an annotation for all of that work (outside of the quickstart, as a "library");
* we could also integrate the push notification delivery on conflicts (not sure it really makes sense, for now...).
Note that this is just an initial and very simple solution, not really something considered being called a 'sync server'. I liked Summers comment: "I think the EE stuff is a stop gap until the sync server is done IE the cheap 50% solution". I agree with that; Eventually it will go away in fav. of the 'sync-server' that Dan/Luke are working on.
OK, in terms of timing,... we could include Erik's work (see [2]) into our 1.0.0 release (of the quickstarts).
That means we would need to bring the Cordova behavior to iOS and Android (Summers has a POC that does similar bits around @Version Entities and Optimistic Locking (and returning 409), see [3]).
Or we do that after we released the AeroGear Mobile Push 1.0.0 to the community; So it could be bundled with an 1.0.1 in... let's say September.
About the long-term solution:
Dan and Luke will continue their research
We will be also reaching out to other groups, as we are not the only ones interested in 'sync'
Any thoughts or questions ?
-Matthias
[3] Summers POC: