venerdì 21 febbraio 2014

Il concetto di Common Data Model (CDM)

I dati sono la componente più importante di un qualsiasi sistema o architettura informatica.

Una delle maggiori criticità che si riscontrano in un contesto IT di tipo enterprise, è la complessità dell’integrazione tra sistemi che hanno modelli dati e linguaggi di comunicazione eterogenei anche dal punto di vista semantico.
La diversità tra i formati dati dei sistemi coinvolti nei processi di business è uno degli aspetti principali da considerare nell'adozione di una architettura di integrazione (EAI) con approccio a servizi (SOA).

Avere interfacce di comunicazione non generalizzate, ma specifiche per singolo sistema o addirittura singolo processo, comporta un aumento della complessità generale con conseguente incremento dell'effort necessario per ciascun nuovo sviluppo o intervento di manutenzione evolutiva. Infatti, per ciascun flusso dati che viene scambiato è necessario implementare una differente trasformazione, con il rischio oltretutto di mal interpretare il vero significato dell'informazione che viene veicolata.

Per mitigare questo problema e rendere l’integrazione dei dati più efficiente dal punto di vista tecnologico ed economico, un approccio efficace è quello di utilizzare un Common Data Model, noto anche come CDM.

Un CDM viene definito per rendere univoca la comunicazione tra sistemi eterogenei in un comune ambiente di business; è un formato dati standardizzato e condiviso, utilizzato per facilitare l'integrazione tra diverse aree applicative e quindi lo scambio dati tra di esse.

Il CDM è un modello predefinito che esprime la rappresentazione logica, semantica e le relazioni dei dati a cui ciascun sistema deve far riferimento per comporre ed interpretare nel modo corretto le informazioni che invia e riceve.



La definizione di un CDM può rivelarsi un'attività lunga ed articolata e va fatta con la massima attenzione tenendo in considerazione tutti i requisiti e le specificità dei processi di business e dei sistemi coinvolti.

Come base di partenza per definire un nuovo CDM, una delle possibilità può essere quella di estendere il formato dati utilizzato dal sistema più importante tra quelli coinvolti apportando le opportune modifiche, ma forse la più valida alternativa è quella di cercare se esiste già un modello standard per il tipo di contesto a cui si fa riferimento.

Per alcuni dei più importanti ambiti di business (es. Telecomunicazioni, News, Pubblica Amministrazione, Sanità, ecc.) infatti sono disponibili dei CDM più o meno consolidati che documentano il formato dati "standard". Tali CDM cercano chiaramente di essere onnicomprensivi e quindi è quasi sempre opportuno ritagliarli per le proprie necessità.

Gli strumenti per descrivere un CDM, tipicamente sono:

  • Grafici relazionali (entità/relazioni);
  • Grafici gerarchici;
  • Markup languages (xml, xsd, uml);
  • Documenti e tabelle descrittive dei vari campi che compongono il data model.



Articoli correlati: