2010-12-26 11 views
1

私は、iOSクライアントと同期するWebアプリケーションを構築中です。私は現在、同期についてどのように動くかを理解しようとしています。私は2つの指示に従いました:クライアントとサーバーの同期の方法論[理論]

私は非常にシンプルなサーバーのWebアプリケーションとアイテムのリストを持っています。それらは変更された日付で注文され、そのような同期は問題ではありません。

私が検討している方向は、クライアントに同期処理をさせることです。私はすでに、クライアントがデータを取得できるAPIを持っているだけでなく、更新、追加、削除といった特定のアクションを実行します。私は次のことを検討していました:1)最後に成功した同期以降に変更されたすべてのアイテムをサーバーに要求し、サーバーによって返されたものに基づいてローカルレコードを更新する各シンクに対して2)永続的な作成/削除/クライアントがサーバーに確認するまでそれらを保持します。

このアプローチのリスクは、基本的に両側に変更を送信してもらい、スムーズに動作することを期待していますが、ある時点での切り替えを危険にさらすことです。しかし、これはおそらくより帯域幅効率が良いでしょう。

私が考えていたもう一つの方向は、より伝統的なモデルでした。私はクライアントがサーバー(または最後に変更された同期のサブセット)にその全体のリストを送信する "同期"プロセスを持ち、サーバーはサーバー上のデータを更新します(最後に変更されたアイテムを保持し、削除されたアイテム= 1のフィールドで削除されたアイテムを保持する)、サーバはクライアントがそのデータを置き換える(最新の同期が成功してから)更新されたアイテムのリストを返す。

思考?

答えて

0

:各項目の修正

  • 日は、トラックオフ保たれています。
  • 削除フラグを設定すると、アプリはそのレコードを非表示にします。
0

CouchApp多くのクライアントとサーバーを同期させることができます。詳細はwikiをお読みください。方法#2一緒に行くことになった

関連する問題