On Wed, Jul 9, 2014 at 5:11 PM, Burr Sutter <bsutter(a)redhat.com> wrote:
On Jul 9, 2014, at 11:03 AM, Matthias Wessendorf <matzew(a)apache.org>
wrote:
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):
https://github.com/edewit/aerogear-push-quickstarts/tree/conflict
==> 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....
in what timeframe? :-)
I think I mentioned that a bit later in my email, at the bottom
* Provide an annotation for all of that work (outside of the quickstart,
as a "library");
that could be interesting, but how much boilderplate code is it
eliminating? 10 lines?
Possible - just an idea we had at the Face2Face meeting. To make it darn
simple
* we could also integrate the push notification delivery on conflicts (not
sure it really makes sense, for now...).
Seems like overkill to me
yeah, same feeing; No Push on Conflict it is, 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).
And try to get the Forge JAX-RS generation updated
https://issues.jboss.org/browse/FORGE-1916
Just provide the template code - the Forge team will do the rest.
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]).
Is this an update to just the quickstarts or to some framework/library
code?
to the quickstarts; see
https://github.com/edewit/aerogear-push-quickstarts/tree/conflict
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
--> Server side POC
https://github.com/danbev/aerogear-sync-server/tree/differential-synchron...
--> Client side POC
https://github.com/lholmquist/ag-js-ds-poc
We will be also reaching out to other groups, as we are not the only ones
interested in 'sync'
Any thoughts or questions ?
-Matthias
[1]
https://github.com/forge/core/pull/481
[2]
https://github.com/edewit/aerogear-push-quickstarts/tree/conflict
[3] Summers POC:
*
https://github.com/secondsun/SmogRideAndroid (client)
*
https://github.com/secondsun/SmogRide (Server)
On Fri, Jul 4, 2014 at 9:46 AM, Erik Jan de Wit <edewit(a)redhat.com> wrote:
>
> On 4 Jul,2014, at 9:28 , Matthias Wessendorf <matzew(a)apache.org> wrote:
>
>
> 2) Initial quick and simple solution based on JAX-RS and JPA:
> - We have versioning in JPA (optimistic locking) - Use it (send 409 on
> server and send right data)
>
> -- Use JAX-RS ExceptionMapper for exceptions around the optimistic
> locking ?
>
>
> Added handling of OptimisticLockException to forge
>
https://github.com/forge/core/pull/481 this will give clients a 409 so
> that they could show to the user that their copy was out of date. Now the
> client still need to react to this.
>
> - Client library will have helper methods for managing data
>
>
> POC of client handeling this
>
https://github.com/edewit/aerogear-push-quickstarts/tree/conflict/client/...
this
> will just show the client version and the server version and the user can
> choose which version to take
>
> - Use push to send notifications that data changed?
> - JAX-RS Annotation to send notifications?
>
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
--
Matthias Wessendorf
blog:
http://matthiaswessendorf.wordpress.com/
sessions:
http://www.slideshare.net/mwessendorf
twitter:
http://twitter.com/mwessendorf
_______________________________________________
aerogear-dev mailing list
aerogear-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev
_______________________________________________
aerogear-dev mailing list
aerogear-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev
--
Matthias Wessendorf
blog:
http://matthiaswessendorf.wordpress.com/
sessions:
http://www.slideshare.net/mwessendorf
twitter:
http://twitter.com/mwessendorf