私は、パートナーから大量のデータを継続的に受信するためのシステムの実装を任されてきました。パートナー側のデータスキーマは私たちのものとは異なるため、データを受信してデータベースにインポートするときに、何らかの変換を行う必要があります。
このタスクを解決するための最良のアプローチは何ですか?
私は方程式の両側をある程度制御できます。つまり、WCFを使用することを選択した場合、パートナーがそのサービスを実装します。ただし、パートナー側で実行する必要のあるプログラミングの量を可能な限り制限することが重要です。理想的には、SQL Serverの一部の機能を使用してデータをエクスポートし、残りを処理できるようにします。
その他の関連要因:
- SQL Serverは両方の側で使用されます(2008年は私たちの側で、パートナーには不明です)。
- .NET 4および/またはMicrosoftから提供されたもので、サードパーティ製品はありません。
- 転送は一方向です。つまり、パートナーから私たちへの転送のみです。
- データの量は、毎日転送される約数万の更新されたレコード/オブジェクトです。
- データモデルはかなり複雑で、いくつかのテーブルとリレーションがあります。
- ソリューションは、パートナー側の変更に耐性がある必要があります(いつ、どのようにモデルを変更するかはわかりません)
- 保守性と信頼性はパフォーマンスよりも重要です。つまり、最新のデータは必要ありませんが、サービスは簡単に変更でき、失敗したり停止したりすることはできません。
私は圧倒されたのでこの質問をしていますが、これを達成する方法はたくさんあります。.NET開発者として、私はWCFの実装、あるいはカスタムxmlベースの交換の実装に傾倒しています。しかし、Biztalkがおそらくここでの法案に適合することはわかっています。また、SQL Serverには、私が知らないいくつかの気の利いた機能が組み込まれている可能性があります。
どんなポインタ、アイデア、提案も大歓迎です!