データ ストレージを抽象化するために、Web サービス (SOAP)、http Web-api (REST)、またはその他のミドルウェアの作成を検討する必要があります。
これには次の利点があります。
- 多くのビジネス ロジックをデスクトップ アプリからミドルウェアに移動できます。
- ボトルネックになる可能性のあるビジネス ロジックを SQL から除外できます。
- デスクトップ アプリを再配布せずにビジネス ロジックを更新できます (すべてのデスクトップを直接制御できない場合は簡単です)。
- 認証を制御できます (多くの Web サーバーには、独自のモジュールと認証方法があります)。アプリは、独自のサービス アカウントでアクセスを制御し、ストレージにアクセスします。
- データ ストレージを完全に変更できます (将来的には、一部を SQL に保存し、一部を mongodb に保存し、一部をクラウド ストレージに保存するとします。繰り返しになりますが、すべてのデスクトップを更新する必要はありません。
- フロントエンドをスケールアウトし、場合によってはバックエンド ストレージをスケールアウトすることもできます (たとえば、読み取り/書き込み DB レプリカ)
既に C# を使用している場合は、新しい MVC4 web-api が最適です。ここでもっと読む:
http://www.asp.net/web-api
そのルートに進むと、サービスでアクセスを制御し、接続文字列の資格情報を介して、または IIS を使用する場合はサイトにマップされたアプリケーション プールの資格情報を介して、サービスにデータベースにアクセスさせることができます。
デスクトップ アプリを出荷している場合 (DB をホストしていない場合)、顧客が IIS をインストール/管理したくない場合は、独自の exe で web-api をセルフ ホストすることもできます。
最後に、mysql がオンラインの場合、ミドルウェアはクラウド (Azure など...) にある可能性があります。