CQRS с устаревшими системами

Я собираюсь преобразовать относительно новое веб-приложение с четкой моделью предметной области в систему, более похожую на CQRS. Мое новое приложение, по сути, является расширенной заменой старой существующей системы.

Существующие системы в моей организации совместно используют набор общих баз данных, которые обновляются с помощью бесчисленного количества приложений (разработанных с помощью метода хаоса), которые существуют разрозненно по всей компании. (В нынешнем виде я считаю, что ни один человек в компании не может идентифицировать их все.)

Таким образом, мой вопрос касается модели (моделей) чтения для моего приложения. Поскольку различные изменения статуса, общие пользовательские данные и т.обновляются другими приложениями, находящимися вне моего контроля, как лучше всего справиться с созданием моделей чтения таким образом, чтобы я мог иметь дело с внешними обновлениями, но при этом сохранять относительно простые вещи?

До сих пор я рассматривал следующее:

  1. Создание представлений в базе данных для моделей чтения, которые считывают все таблицы, старые и новые
  2. Добавление триггеров в существующие таблицы для обновления новых таблиц моделей чтения
  3. Добавить некоторый код для базы данных (CLR Stored proc/etc [sql server]) для обновления внешнего хранилища данных для моделей чтения
  4. Откажитесь от надежды

Каково общее мнение о том, как подойти к этому? Глупо ли думать, что я могу навести порядок в устаревшей системе, не переписав все полностью с нуля?

8
задан reallyJim 19 June 2012 в 14:08
поделиться