Actualmente estoy desarrollando un sistema que contiene todos los datos maestros relevantes, como por ejemplo un cliente, o información sobre un sistema operacional que existe dentro de nuestro sistema. Los ID asignados a estas entidades son únicos dentro de la empresa. Cuando algún sistema almacena, p. datos relacionados con el cliente, también debe contener la ID de datos maestros del cliente. El sistema de datos maestros se basa en .Net y una MSSQL 2005.Master Data Management - Redundancia de datos
Ahora mi pregunta es, al desarrollar otro sistema con sus propias asambleas, bases de datos, etc., que utiliza datos del sistema MDM, lo haría usted almacena esos datos de forma redundante en la otra base de datos de sistemas, crea sus propias entidades comerciales (como clientes) y codifica los datos maestros requeridos desde el MDM en la otra base de datos (o por ETL)? De esta forma, el otro sistema se separa del MDM pero solo almacena los ID de datos maestros globales.
¿O integraría los conjuntos del MDM en otros sistemas (si .Net por supuesto) y usaría la capa de datos del MDM para cargar entidades globales (como un cliente)?
¿O dejaría que el otro sistema cree sus propias entidades, pero para recuperar datos maestros utilizaría una interfaz SOAP proporcionada por el MDM.
Tiendo a utilizar el enfoque no. 1 porque creo que es mejor desconectar otros sistemas de la solución MDM (separación de preocupaciones). Dado que la solución MDM puede contener muchos más datos de una entidad cliente que los que necesitaría en algún otro sistema donde solo se requiere el nombre del cliente. La opción 3 sería posible, pero los servicios web podrían ralentizar mucho un sistema operativo. ¿Qué piensas?