4

私はこの概念に慣れていないので、次のシナリオで何を使用するのが最適かについてのガイダンスが必要です。

、などparts Stockの多くの機能を含むデスクトップアプリケーションを作成する必要があります。Employees DataCompany Cars Data

現在の問題は、多くのユーザーがアプリケーションを使用しており、このアプリケーションがインストールされているさまざまな都市にオフィスがあることです。

データベースにデータをアップロードすると、他のデータが反映され、他のデータが即座に更新されるスキームが必要です。たとえば、さらに多くの車が追加された場合、使用しているすべての人が自分の車のリストを更新します。

私は使用することを考えていましたwebservices。データはWebサイトのデータベースのどこかに保存して、すべてのアプリケーションがたとえば20秒ごとにリストを更新するようにする必要があります。

どんな助けでも大歓迎です

4

2 に答える 2

3

すべてのデータを常にリロードするわけではありません。ここにはいくつかの一般的なアプローチがあります。

  • 変更のリストを保持します; 新しいデータを追加する場合は、プライマリデータレコードを追加、変更が発生したという事実(基本的には「イベント」リスト)を書き込みます。次に、変更ログを定期的にクエリして、(x)以降のすべてのイベントを要求するだけで、追加/更新/削除を取得できます。
  • インフラストラクチャで許可されている場合、ある種のpub / subフレームワーク-実際には同じアプローチですが、通常はメインDBではなくミドルウェアを使用して変更を行います

データの取得方法を再確認します。ポーリングはシンプルで効果的です。アクティブプッシュはセットアップが難しいですが、レイテンシーを減らす可能性があります-ここでそれが価値があるかどうかはわかりません

ただし、もう1つのアプローチは、Webアプリとして設計することです。そうすれば、すべてのデータがサーバーファームに存在し、すぐに更新するのは簡単です。「デスクトップ」アプリは、ajaxを使用したWebページである可能性があります

于 2011-07-02T14:49:56.817 に答える
2

クラウドコンピューティングを試して、データをクラウドに保存します

反対票を投じた後、ここでポイントを取り戻そうとしています。

クラウド(特にWindows Azure)は、このプロジェクトに最適です。Webサービスは、多数のWebサーバーに簡単にスケールアウトできるため(Azureのインスタンスが話す)、同様に役立ちます。多くのデスクトップクライアントがデータベースと直接通信することはお勧めできません。多くの場合、スケーラビリティの問題が発生します。

クライアント側のデータを頻繁に更新する場合、出力キャッシュはここで大いに役立つ可能性があります。これは、ほとんどコードなしで実装できます。これにより、変更のリストを管理するよりもはるかに簡単に実行できます。

于 2011-07-02T14:46:45.850 に答える