0

そのため、私たちはローカル (顧客のサイト) でホストされるカスタム POS システムを構築しています。そのすべて .NET、C#、および SQL Server。

要件の 1 つは、システムがインターネット経由でも注文を受け付けることを許可することです。さまざまな理由 (接続の信頼性/速度、バックアップ、安定性、保守など) により、Web ポータルは標準的な Web ホスティング会社によってオフサイトでホストされます。

製品の詳細はローカル DB にあるため、何らかの方法で外部 Web サイト DB をこのデータと同期する必要があります。明らかに安全である必要があり、帯域幅が多すぎないようにする必要があります。

ローカル DB の外部への露出を最小限に抑えるソリューションを考え出しました。

  • Web アプリは、ローカル アプリから何にもアクセスできません。
  • データを移動できる唯一の方法は、ローカル アプリから Web アプリにプッシュを送信することです。
  • Web アプリができる唯一のことは、新しい注文が行われたという通知をローカル データベースに送信することです。次に、ローカル アプリが外部アプリに接続し、注文の詳細を取得します。

そこで、Web サービスを使用して、addProduct(id, blah blah blah) のような Web アプリで基本的なアクションを定義するだけの、このような設計を考えていました。

ただし、製品がローカルアプリから削除された場合、外部アプリが一時的に利用できない場合など、同期を維持するためのルーチンを作成する必要があります...

これは合理的なアプローチですか、それとももっと良い方法がありますか?

4

3 に答える 3

1

これは、SOA が私に当てはまると思われるケースです。WCF を使用して POS アプリケーションから特定の機能を公開することを検討します。これには、少なくとも次のことが当てはまります。

  • Web サイトで一部を複製する代わりに、POS システムの機能を再利用できます。
  • たとえば、切断された状況で機能できる MSMQ バインディングを使用する
  • WCF には、優れたセキュリティ メカニズム、トランザクション サポートなどがあります。

この方法では、POS と Web サイトの間で 1 回限りの結合を行うのではなく、POS システムに割り当てられた価値を追加することになります。

WCF の詳細については、Juval Lowy によるProgramming WCF servicesをお勧めします。

于 2009-01-18T23:39:55.213 に答える
0

あなたの質問への直接的な回答ではありません... 2 つのサイト間に VPN トンネルを確立しようと思いますが、それができない場合は、SSH トンネルを試してみてください。

セキュリティが優れていることは別として、私の経験では、VPN があれば、以前はあまりにも安全ではなかったことを検討する必要があるため、より多くのオプションが開かれます.

于 2009-01-18T23:29:08.747 に答える
0

@olleこれは有望に見えます。1 つの問題は、オンライン ポータルとローカル アプリの双方向の接続が信頼できないことです。ただし、リンクがダウンしている場合でも注文を受けられるようにしたいと考えています。したがって、webapp で WCF を使用してサーバーからデータを読み取り、それをローカル テーブルにキャッシュすることになると思います。Web アプリは、WCF 呼び出しが短時間で返されない場合、キャッシュされたテーブルからコンテンツを提供する中間層を介してデータを要求します。正常に返された場合、キャッシュは消去され、結果に置き換えられます。計画のように聞こえますか?

于 2009-01-21T23:34:08.717 に答える