Azure, AWS, Sync, Database, and iOS

I am starting to develop a new application for the iPhone, which will require the application to synchronize its data model with the web application. This is the first time I have tried to complete such a task.

The internal data model is quite simple - multiple objects with multiple one-to-many comparisons.

I considered various options for handling the server side of things, but my investigation into Windows Azure and the Sync Service Framework infuriates me. I hope someone can help me figure it out.

1) Is it possible to create a scalable web application hosted on Windows Azure by integrating Microsoft synchronization services? I am confused about the services that Azure can offer and the services that you will have to install on your own server. Can someone point me to the right pages? At the moment, the only Sync Service I can find will require me to install Sync Services in a Windows window, so I'm a little confused.

2) Is there an example of iOS SDK + that will allow me to configure the web service on Azure and synchronize the base database (Core Data, SQLite or otherwise).

3) Assuming that this is possible, what I need to do then is to have a web application that will have access to this data.

Finally, AWS offers something similar. I found a SimpleDB proposal and an example iOS application, but the future of SimpleDB looks uncertain and I don't want to develop an application around it.

I also looked at the Google App Engine, but I cannot find any synchronization schemes to provide a starting point. As an indie developer, I cannot invest the time needed to play my own.

Thanks,

Tim

+4
source share
1 answer

I recently implemented a synchronization system with Windows Azure clients and several platforms:

  • Clients are WP7, iOS, and Android.
  • Data is stored in Windows Azure Table Storage
  • Using ASP.NET web API , we set a common API for synchronization (upload and download changes, request a full reset, authentication, ...)
  • All clients use SQLite for local persistence and interact with it through the ASP.NET API using JSON

We decided not to go with the Sync frame, because it seemed to limit our flexibility in the synchronization system. Since we support millions of devices, we decided to switch to our own implementation of synchronization using the capabilities of storing tables (for example, using scoreboards per user).

In any case, with the new SDK update, it will be easy to create an API (whether in .NET or in any other language) and save your data in a reliable way (whether it be Table Storage, MongoDB, ...).

To answer the second question, I donโ€™t know if there is a complete example for this, but this may make you start:

To host all of this, you'll need a subscription to Windows Azure:

If you decide to upgrade to a non-ASP.NET Web API, you can do everything from your Mac thanks to the new features: http://blogs.msdn.com/b/interoperability/archive/2012/06/07/windows-azure -command-line-tool-for-mac-and-linux.aspx

+4
source

All Articles