All'interno di un sistema distribuito aziendale ho molti servizi: un servizio di e-commerce, un CRM, un supporto tecnico, finanza, fatturazione. Molti di questi servizi condividono dati comuni, come Customer
dati.
Questi servizi comunicano tra loro tramite un Enterprise Service Bus (ESB) per garantire che i dati di tutti i sistemi siano infine coerenti tra loro.
La mia domanda è questa: è meglio garantire che solo un sistema possa aggiornare una qualsiasi parte di dati? Per avere un'unica fonte di verità. Per esempio. Solo il sistema di fatturazione può aggiornare le informazioni di fatturazione del Cliente. Solo il CRM può aggiornare i dettagli di contatto del cliente?
Per me questo risulta complicato e confuso per individuare il sistema corretto per i dati che desideri aggiornare. Posso vedere meglio avere più fonti per gli aggiornamenti e l'ESB comunica questi aggiornamenti ai servizi sottoscritti.
Riesco a vedere che alcuni dati avranno un'unica fonte di verità (SSOT) in quanto sarebbe piuttosto di nicchia, come ad esempio le informazioni sulla carta di credito del cliente, per esempio.
Che cos'è una tecnica comunemente adottata per trattare dati comuni potenzialmente aggiornabili da diversi servizi? È necessario un SSOT in un sistema distribuito aziendale?