Posso darti un esempio di quando la meta-modellazione è stata utile nel mio posto di lavoro. Negli anni '90, l'azienda in cui lavoravo crebbe velocemente con l'acquisizione. Con ogni acquisizione, sono stati aggiunti nuovi dipendenti, sistemi, database e dati. Nel 2004, il dipartimento IT impiegava quasi 5.000 persone e aveva un budget annuale di 10 ^ 9 USD. Molte delle aziende più piccole con cui ci siamo uniti avevano i loro dati in MS Access, MS Excel, Fox Pro. Molte delle grandi aziende disponevano di file flat su mainframe, database gerarchici, enormi installazioni DB2 in esecuzione su OS / 2 ... e tutto il resto sotto il sole. Oltre al registro generale, non è stato fatto alcun tentativo serio per consolidare nessuno di questi dati.
Ad un certo punto nel tempo, qualcuno si è svegliato e ha capito che c'era poco controllo sui dati aziendali e che la mancanza di controllo rappresentava un grave rischio per l'azienda. Era tempo di pulire casa! Ma da dove cominciare? Anche un'idea semplice come "cliente" significava qualcosa di diverso per ogni gruppo. L'entità "cliente" utilizzata dall'ufficio legale non si sovrapponeva quasi al "cliente" utilizzato dall'ufficio vendite e quei "clienti" non avevano nulla a che fare con il "cliente" utilizzato dalla finanza. Come risolvi un pasticcio del genere?
L'approccio che abbiamo intrapreso iniziò con il backup di un passo. Piuttosto che mettere 30 persone in una stanza e guardarle lottare per la propria definizione di cosa significasse "cliente", abbiamo iniziato con la meta-modellazione. Abbiamo affrontato domande come "cos'è un attributo semantico?" o "quali sono le entità e come devono essere formattati i loro nomi?".
È stato più facile ottenere il consenso su astrazioni come "classe" e "relazione" piuttosto che su dati operativi reali. Ma una volta che le parti interessate avessero raggiunto un consenso in termini fondamentali, potremmo passare all'ultima astrazione, diventando gradualmente sempre più concreti. Alla fine avevamo una struttura comune per la descrizione dei dati aziendali e stavamo lavorando verso un dizionario di dati comune.