Estoy buscando convertir una aplicación basada en la web relativamente nueva con un modelo de dominio claro a más de un sistema de estilo CQRS. Mi nueva aplicación es esencialmente un reemplazo mejorado de un sistema existente anterior.CQRS con sistemas heredados
Los sistemas existentes en mi organización comparten un conjunto de bases de datos comunes, que se actualizan mediante un número incalculable de aplicaciones (desarrolladas a través del Método del Caos) que existen en silos en toda la empresa. (Tal como está, creo que ninguna persona en la empresa puede identificarlos a todos.)
Mi pregunta es, por tanto, sobre los modelos de lectura para mi aplicación. Dado que varios cambios de estado, datos generales de usuario, etc. son actualizados por otras aplicaciones fuera de mi control, ¿cuál es la mejor manera de manejar la construcción de los modelos de lectura de manera que pueda manejar actualizaciones externas, pero aún así mantener las cosas relativamente simples?
He pensado en lo siguiente hasta el momento:
- crear vistas en la base de datos para los modelos de lectura, que lee todos los cuadros, el legado y la nueva
- Agregar dispara a tablas existentes para actualizar nuevas tablas modelo de lectura
- añadir algo de código a la base de datos (proc almacenado CLR/etc [SQL Server]) para actualizar un almacén de datos para los modelos de lectura fuera
- abandonar la esperanza
¿Cuál es el consenso general sobre cómo abordar esto? ¿Es una locura pensar que puedo poner orden en un sistema heredado sin reescribir completamente todo desde cero?