Мне было поручено внедрить систему непрерывного получения больших объемов данных от партнера.Схема данных на стороне партнеров отличается от нашей, поэтому при получении и импорте данных в нашу базу данных необходимо провести какое-то преобразование.
Какой наилучший подход для решения этой задачи?
У меня есть некоторый контроль над обеими сторонами уравнения, т. Е. Если мы решили использовать WCF, наш партнер внедрит эту услугу.Но важно максимально ограничить количество программ, которые должны выполняться на стороне партнеров.В идеале они использовали бы некоторые возможности SQL Server для экспорта своих данных, а затем позволили бы нам разобраться с остальными.
Другие важные факторы:
- SQL Server используется с обеих сторон (2008на нашей стороне, неизвестно для партнера).
- .NET 4 и / или что-либо, что идет из коробки от Microsoft, никаких сторонних продуктов.
- Передача является односторонним, то есть изтолько для нас.
- Объем данных составляет около десятков тысяч обновленных записей / объектов, передаваемых ежедневно.
- Модель данных довольно сложная, с несколькими таблицами и связями.
- Решение должно быть терпимым к изменениям со стороны партнеров (мы не знаем, когда и как они меняют свою модель)
- Ремонтопригодность и надежность важнее производительности, т. Е. Нам не нужно последние данные, но сервис должен легко изменяться, и он не может завершиться сбоем / остановкой.
Я задаю этот вопрос, потому что я перегружен, но количество способов tего можно достичь.Как разработчик .NET, я склоняюсь к реализации WCF или, может быть, даже к некоторому пользовательскому обмену на основе XML.Но я знаю, что Biztalk, вероятно, будет отвечать всем требованиям, и SQL Server, вероятно, имеет некоторые изящные встроенные функции, о которых я не знаю.
Любые указатели, идеи и предложения приветствуются!