Offline Data and Synchronization for a Mobile Backend as a Service system

More Info
expand_more

Abstract

Because of the increase in the number of connected devices used, developers are increasingly building mobile applications. These applications primarily connect users to information that comes from the internet. Mobile Backend as a Service ((M)BaaS) providers started providing developers with hosted backends that are easy to set up and can be used to store data for the application. Mobile connections are not always reliable or available. Therefore the developer needs to do significant work to make the application work under these conditions. Hosted backends allows for the opportunity to offer a solution for the unreliable connection problem as part of their software development kits (SDK). In this thesis we design a model for an (M)BaaS system to offer offline data and synchronization support, while preserving as much of the functionality that is offered by such a system. In addition, the model offers flexible conflict resolution and optimal use of data stored offline. The model is implemented on top of Windows Azure Mobile Service (WAMS), which is the (M)BaaS system offered by Microsoft. This implementation shows that the model works and that it can be successfully applied to an (M)BaaS system. Our main contributions are a synchronization model for an (M)BaaS system, including an implementation that can be used with the existing WAMS .NET SDK on the Windows platform, the flexible conflict resolution options and the ability to answer queries locally using the cached data from other requests.