2011-08-01 6 views
0

私はオンラインとオフラインの両方のモデルで動作する必要があるAIRアプリケーションに取り組んでいます。ユーザーはオフラインでさまざまなアクションを実行でき、結果はローカルDBに保存されます。一度ユーザーがオンラインになると、同じことがグローバルDBと同期する必要があります。私はちょっと調べましたが、Adobe LCDS(ライフサイクル・データ・サービス)がこれを行うための唯一のオプションであるようです。しかし、それはエンタープライズ・ソリューションであり、コストがかかりすぎます。Adob​​e AIR:オンライン/オフラインデータベースの同期

他の実装はありますか?誰もオンライン/オフライン同期のためにCouchDBを使用しましたか?

おかげで、よろしく、AIRアプリケーションのみがあるときに、サーバーにDBの同期を行うための カピルKaushikによる

+0

WebOrbはどうですか? http://www.themidnightcoders.com/develop-ria/guided-tour.html –

+0

私の知る限りでは、AIRを使ってローカルデータベースストレージにSQLiteしか使用できません。サーバーと通信する限り、DennisJaamannのようにWebOrbを使用することをお勧めします。[BlazeDS](http://opensource.adobe.com/wiki/display/blazeds/BlazeDS)もあります。何かリンク[ZendAMF](http://framework.zend.com/wiki/display/ZFPROP/Zend_Amf+-+Wade+Arnold)または[RocketAMF](http://rubygems.org/gems/RocketAMF)。 – NoobsArePeople2

+0

こんにちはデニス.....あなたのコメントありがとうございます。私はWebOrbをチェックしました。確かに有望です。私はそれをよりよく理解するためのプロトタイプを作成しようとします...もう一度ありがとう!! –

答えて

0

は、あなたがあなたがを使用するようにどのバックエンド技術のためのいずれかの要件はありません。 LCDSによってはより簡単になります。ですが、あなたの唯一の選択肢ではありません。あなたが望むならば、ちょっと普通のPHPスクリプトを使って、あなたのために同期を行うことができます。

すべての難しい部分は、情報を失わないように同期アルゴリズムを把握することです。通常、私は、アプリケーションがオンラインで再び接続されたときに、オフラインでサーバーに変更/作成された(タイムスタンプ付きの)すべての情報を送信すると、サーバーはオフラインかどうかをチェックするアルゴリズムを持っています情報は以前に行われたことよりも新しい情報です(または状況に応じて他のビジネスルールを実行します)。サーバーは、どのデータが良いかを判断すると、更新されたデータをクライアントに送信し、すべてを効果的に同期させます。

これは、通常のHTTP要求、ポーリングまたはプッシュによって実行できます。

+0

こんにちはJ_A_X .....ご回答いただきありがとうございます。私はそれが間違いなく実行可能であることを理解しています....しかし、あなたが言ったように、難しい部分は同期アルゴリズムです。私が今までに読んだことから、これはかなり簡単な作業です。だから、私は簡単なオプションを探していた。カウチDBは同期部分を自動的に処理するようだ...だから私はそれが請求書に合うかどうかを理解しようとしている!! –