Деловые правила - трудная часть
Односторонняя синхронизация? Двусторонняя синхронизация? Толчок в реальном времени? Ночные обновления? Сбросить и перезагрузить? Сравнить и обновить? Решение конфликта? Какая сторона выигрывает? Нажимать информацию только для чтения в одну сторону, а информацию заказа - в другую? А как насчет изменений / отмены / и т.д.? Получают ли статусы заказа сдвинуты назад?
Вы можете видеть, куда я иду. Технология является второстепенным вопросом.
Из-за проблемы бизнес-правил и из-за того, что две системы имеют разные схемы (и разные цели), это не стандартное перемещение данных, и большинство «стандартных» ответов (репликация, доставка журналов и т. Д.) со стола.
Существуют фреймворки, разработанные для этой цели, например Microsoft BizTalk или Scribe Insight . Хотя они громоздки и дороги.
Не так уж сложно создать собственную систему очереди, основанную на триггерах SQL или запланированных отправках (в зависимости от ваших потребностей) в C # или на вашем любимом языке. Это, вероятно, маршрут, по которому я бы пошел. Вероятно, потребуется третья база данных «передачи» для хранения очереди изменений, выполненных одной стороной, и модуль для применения бизнес-правил и передачи данных другой.