2012-06-08 28 views
3

我開始開發新的iPhone應用程序,該應用程序將要求應用程序將其數據模型與Web應用程序同步。這是我第一次嘗試這樣的任務。Azure,AWS,同步服務,數據庫和iOS

內部數據模型是相當簡單 - 實體與一對夫婦一個一對多映射了一把。

我一直在尋找各種選項來處理事物的服務器端,但是我調查到Windows Azure和同步服務框架我發瘋。我希望有人能幫我解決問題。

1)是否有可能建立一個可擴展的Web應用程序,託管在Windows Azure上,整合了微軟的同步服務? Azure可以提供的服務與您必須在自己的服務器上安裝的服務相比讓我感到困惑。任何人都可以將我指向正確的頁面嗎?目前唯一可以找到的同步服務的東西需要我在Windows機器上安裝同步服務,所以我感到很困惑。

2)是否有一個iOS版SDK +例如,讓我建立在Azure上的web服務,並同步基礎數據庫(核心數據,SQLite的或其他)。

3)上述假設是可能的,什麼會我再需要做的有一個Web應用程序託管了不得不訪問這些數據。

最後,AWS提供了類似的東西嗎?我發現了SimpleDB產品和示例iOS應用程序,但SimpleDB的未來看起來很模糊,我不希望圍繞它開發我的應用程序。

我也看了谷歌應用程序引擎,但我無法找到任何同步框架提供一個起點。作爲一名獨立開發者,我無法投入所需的時間來發揮自己的作用。

感謝,

回答

4

我最近實施的同步系統與Windows Azure和多平臺客戶端:

  • 客戶是WP7,iOS和Android
  • 數據存儲在Windows Azure Table Storage
  • 使用ASP.NET Web API我們公開了一個用於同步的通用API(上傳和下載oading變化,要求完全復位,認證,...)
  • 所有客戶端使用SQLite爲當地的持久性,並與他使用JSON

我們決定不去與同步互動的ASP.NET Web API因爲它似乎限制了我們同步系統的靈活性。由於我們支持數百萬臺設備,因此我們決定使用表存儲功能(例如,每位用戶有部分用戶)進行自定義同步實現。

無論如何,隨着SDK的新更新,將很容易創建一個API(無論是在.NET或任何其他語言),並以可靠的表現方式(無論是表存儲,MongoDB, ...)。

要回答你的第二個問題,我不知道是否有一個完整的例子來做到這一點,但是這可能讓你開始:http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_4_iPhone_Application

  • JSON iOS中:http://stig.github.com/json-framework/
  • iOS上

    1. 的SQLite
    2. 的ASP.NET Web API和iOS:http://www.youtube.com/watch?v=_m9kEI3s3-k
    3. 表存儲教程:https://www.windowsazure.com/en-us/develop/net/how-to-guides/table-services/

    要舉辦這一切,你會需要一個Windows Azure訂閱:

    如果你決定去一個non-ASP.NET的Web API實現,你甚至可以做的一切,從你的Mac由於新的特點:http://blogs.msdn.com/b/interoperability/archive/2012/06/07/windows-azure-command-line-tool-for-mac-and-linux.aspx

    +0

    嗨。感謝您的詳細回覆 - 我花了一些時間來瀏覽各種鏈接。有一件事我不清楚的是,對錶格存儲的請求是否自動發送到用戶本地的位置(用於性能和縮放),還是服務器的位置是固定的。除此之外,最大的問題是,它使實施中最難的部分 - 數據庫同步...... – tarmes

    +0

    tarmes,對錶存儲的請求始終發送到位於一個數據中心的特定存儲帳戶。您可以通過Azure的CDN服務實現對Blob存儲的全局分發/緩存,但不能實現表格存儲。 – ChrisW

    相關問題