Design appropriato per la soluzione MDM

1

Problema di progettazione: Un sistema allineato al reparto (un'applicazione / interfaccia utente e database, che chiameremo Sistema A) viene utilizzato per gestire sia le informazioni sui clienti che i dati transazionali dei clienti come ordini, addebiti, informazioni di fatturazione, ecc. Collegati al sistema A sono 15 sistemi downstream - tutto con interfaccia utente (circa 12 sono sistemi allineati al reparto, il resto non lo sono). I dati relativi a clienti e ordini vengono replicati nei sistemi a valle tramite un ESB. Query ESB Sistema Un database per recuperare i dati che devono essere replicati. Alcuni sistemi downstream si connettono direttamente alle tabelle System A. La struttura delle tabelle relative ai clienti è molto incentrata sul dipartimento.

Ora c'è il requisito di decentralizzare la manutenzione dei dati dei clienti (dato che i dati dei clienti sono attualmente gestiti in diversi sistemi allineati), cioè creare un sistema Master Data Management per i clienti, per snellire i processi aziendali di vari reparti. Parte dell'azione MDM consiste nel ristrutturare le tabelle relative ai clienti in una struttura di tabelle più flessibile per soddisfare i dati dei clienti di altri dipartimenti. Inoltre, le 15 interfacce di sistema a valle non dovrebbero essere interessate.

Quale soluzione sarebbe appropriata?

Soluzione 1 - Riscrivi il sistema A (compresi i moduli per gli ordini dei clienti)
Ciò richiede:

  1. Riscrivi il sistema A come sistema B (sia applicazione / interfaccia utente e database). Sistema B: 1) un database con struttura flessibile della tabella clienti 2) riscrittura dei moduli ordine cliente System A
  2. Migra tutti i dati del sistema A nel sistema B
  3. Riscrive tutte le stored procedure ESB
  4. Crea adattatori nel livello ESB per modificare in modo astratto il formato dei messaggi e non influire sulle interfacce downstream esistenti
  5. Per i downstream che si collegano direttamente alle tabelle del database del sistema A, crea viste del database per imitare le vecchie strutture delle tabelle dei clienti

Soluzione 2 - Mantieni sistema A, Crea sistema B
Ciò richiede:

  1. Crea un sistema B con un'interfaccia utente e un database read-weite con una struttura flessibile della tabella del cliente (questo diventerà parte di MDM)
  2. Riattiva i moduli / l'interfaccia utente del sistema A in sola lettura; il mantenimento dei dati dei clienti sarà nel sistema B; non sono necessarie ulteriori modifiche nel sistema A; tutti i sistemi downstream continueranno a connettersi al sistema A
  3. Crea un componente che replicherà le modifiche dei dati dal sistema B al sistema A

Sto riservando i pro, i contro e i rischi che ho trovato per dopo, perché non voglio influenzare nessuna risposta.

Qualsiasi input è apprezzato.

    
posta rro 01.03.2016 - 08:09
fonte

0 risposte