私の会社では、古いWinformsアプリケーションをWPF/Silverlightクライアント/サーバーアプリケーションに変換する予定です。WPF、任意の未知のデータベース - クライアント/サーバーまたはデスクトップアプリケーション?
小規模なサーバーアプリケーションを持つという考えではなく、各クライアントの管理コントロールにデータベースを管理するので、データベースのそれぞれにアクセスすることができ、ユーザーのタイプと組み合わせてアクセス可能なデータベースのリストを持つことです。さらに、SQLリクエストがサーバによって処理され、結果を返すのは素晴らしいことです。
アプリはサーバに「登録」されるデータベースの任意のセットで動作するようになっおよびユーザーは、自分の認証権利者にデータベースのリストを取得しています。彼らは、それらのデータベース上で実際に想像できるものすべてを行うことができます。システムは、最大200万行を処理できる必要があります。
データベースは、それらの多くがあることができ、彼らはMS Accessのは、Oracle、SQL Serverのなど、ので、私は前にそれらのすべてを指定するための方法はありませんすることができ、非常に異なっています。さらに、SQLiteキャッシュとの通信が必要です。 私はすでにWinformsアプリケーションからSQLクエリに必要なものをすべて持っています。
私が考えていた:
1)設定ファイルでユーザータイプごとに利用可能なデータベースを指定して、単純なWCFサーバー。サーバーに行うことができ、必要なすべてのSQLクエリを指定し
2)インタフェース。
3)クライアント...
考え方は次のとおりです。 クライアントがサービスを呼び出すことで、テーブル上のSQLクエリ(INSERT、UPDATE、SELECTなど)を実行するためにWCFサービスを使用するクライアント・サーバー・アプリケーションは、メソッド。
サービスは、理想的にはWPFとSilverlightアプリの両方のための消耗品でなければなりません。
これは道のりですか?どのような既存の技術でフォーマット、通信、サービスなどを利用したいのですか?
問題がある場合は、デスクトップアプリケーションに戻ることを検討しますが、次にユーザータイプ/データベースアクセスの問題を緩和する方法各クライアント?
データベースのすべてが同じスキーマを持っていますか?彼らは "ほとんど"似ていますか?それとも、まったく違うの? –
私は私の質問にいくつかの情報を追加しました。基本的に、アプリケーションとしてデータベース間の共通点を見つける方法は、特定の環境や特定のタスクでは機能しないデータモデリングアプリケーションです。 – ps23