そのため、私たちはローカル (顧客のサイト) でホストされるカスタム POS システムを構築しています。そのすべて .NET、C#、および SQL Server。
要件の 1 つは、システムがインターネット経由でも注文を受け付けることを許可することです。さまざまな理由 (接続の信頼性/速度、バックアップ、安定性、保守など) により、Web ポータルは標準的な Web ホスティング会社によってオフサイトでホストされます。
製品の詳細はローカル DB にあるため、何らかの方法で外部 Web サイト DB をこのデータと同期する必要があります。明らかに安全である必要があり、帯域幅が多すぎないようにする必要があります。
ローカル DB の外部への露出を最小限に抑えるソリューションを考え出しました。
- Web アプリは、ローカル アプリから何にもアクセスできません。
- データを移動できる唯一の方法は、ローカル アプリから Web アプリにプッシュを送信することです。
- Web アプリができる唯一のことは、新しい注文が行われたという通知をローカル データベースに送信することです。次に、ローカル アプリが外部アプリに接続し、注文の詳細を取得します。
そこで、Web サービスを使用して、addProduct(id, blah blah blah) のような Web アプリで基本的なアクションを定義するだけの、このような設計を考えていました。
ただし、製品がローカルアプリから削除された場合、外部アプリが一時的に利用できない場合など、同期を維持するためのルーチンを作成する必要があります...
これは合理的なアプローチですか、それとももっと良い方法がありますか?