[aerogear-dev] LiveOak SDK

Burr Sutter bsutter at redhat.com
Tue Jul 8 09:11:04 EDT 2014


At a minimum, the same HTTP error codes used to indicate "sync errors" via JAX-RS + JPA should be the same for LiveOak's REST APIs - therefore the client-code can be reusable across the two endpoints.   We should come up with sync strategies - levels 1, 2 and 3 - where 1 is simply the clever use of HTTP error codes and level 3 is real-time/off-line/auto-conflict resolution.   Perhaps there are 4 levels :-)

Anyone care to articulate the possible strategies?


On Jul 8, 2014, at 9:02 AM, Summers Pittman <supittma at redhat.com> wrote:

> On Mon 07 Jul 2014 12:14:17 PM EDT, Matt Wringe wrote:
>> 
>> Initial email to get some discussion going around the LiveOak SDK and
>> AeroGear collaboration.
>> 
>> Essentially in LiveOak we are going to need a few different SDK types
>> 
>> - Client Application SDK
>> This is the code which will run on the users device. Initial targets
>> here are javascript (+ cordova support), iOS, Android. This type of SDK
>> will handle things like getting and sending resources to and from the
>> server, handling login/logout/registration, etc. Probably some other
>> things like device registration would be needed as well.
>> 
>> Not sure if we want to provide support for some other things outside of
>> communicating with the server or not (eg access to device components (eg
>> camera, location, etc)) or if these would be best handled by using the
>> native environment's SDK instead.
>> 
>> - Server Side SDK
>> This is code that runs on the server side, written in JavaScript by the
>> application developer. This will need to be familiar to the client
>> application's JavaScript SDK, but may not be exactly the same. This type
>> of SDK will be able to access the same resources as the client side
>> JavaScript, as well as other internal resources and libraries.
>> 
>> 
>> I am not sure how to collaborate between the LiveOak and AeroGear teams
>> here. AeroGear makes really awesome SDKs for various mobile platforms,
>> but with LiveOak we are dealing with a specific type of application. The
>> AeroGear SDKs tend to handle the more generic case, which I don't
>> necessarily think makes sense for a LiveOak SDK.
>> 
>> I do think it makes sense that the LiveOak SDK uses the AeroGear SDK
>> internally, but I don't know if we want to expose these AeroGear
>> components to a LiveOak developer or not.
>> 
>> 
>> For me, I envision something like the admin setting up their application
>> in the LiveOak console which then generates a json configuration file
>> (url locations, resources available, KeyCloak settings, UPS settings,
>> etc). The application developer then drops this json file in to their
>> application, the LiveOak SDK reads the json file to set it self up and
>> then its really easy for the developer to start using it.
>> 
>> [there are also some really cool things we could be doing here as well
>> if we can get awesome data sync support for AeroGear. It might be
>> interesting to be able to fetch a resource from the server and
>> automatically sync its state across between the client and server. This
>> way the object appears as a local object: if the resource changes on the
>> server, it changes locally as well, if it changes locally, that change
>> is pushed to the server. This way you are just dealing with an object,
>> and not having to fetch and then push object back and forth between the
>> server manually]
>> 
>> Anyone have any thoughts on this?
> 
> One of the things which may be useful is aerogear-ios and 
> aerogear-android are both modularizing their libraries.  IN theory this 
> means that the liveOAK SDK's could be extensions of those modules 
> instead of a single monolothic thing.
> 
> Sync is still an ongoing discussion in AeroGear, but I think right now 
> the current group thought is that we will focus on 409 Conflict events 
> (JPA versioning on server side and utilities on the client side) and not 
> worrying about realtime sync.
> 
> 
> Some notes from out last meeting on the topic :
> Client API Strawman :
> https://github.com/secondsun/aerogear-android-sync/tree/master/android
> Client/Server workflow :
> https://docs.google.com/drawings/d/1E4NDEh3NQCdoEHNNHba4TR2akNrppvV5zDlk5nfzz08/edit 
> 
> 
> Also we are looking at doing something with diff merge patch as well as 
> adding in push based data changed notifications later.
> 
> 
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
> 
> 
> 
> -- 
> Summers Pittman
>>> Phone:404 941 4698
>>> Java is my crack.
> 
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20140708/c839ceae/attachment.html 


More information about the aerogear-dev mailing list