Repository
Un repository (ital. deposito o ripostiglio) è un ambiente di un sistema informativo (ad es. di tipo ERP), in cui vengono gestiti i metadati, attraverso tabelle relazionali; l'insieme di tabelle, regole e motori di calcolo tramite cui si gestiscono i metadati prende il nome di metabase.
Indice |
Descrizione [modifica]
Si tratta di qualcosa di più sofisticato del mero dizionario dati, ed è un ambiente che può essere implementato attraverso numerose piattaforme hardware e sistemi di gestione dei database (o DBMS, acronimo del corrispondente termine inglese DataBase Management Systems).
Architettura Repository [modifica]
Si tratta di uno stile architetturale che può essere utilizzato come base di un'architettura software. I sottosistemi che compongono il software accedono e modificano una singola struttura dati chiamata appunto repository. I vari sottosistemi sono fra loro "relativamente indipendenti", in quanto interagiscono solo mediante il repository. Il flusso di controllo è dettato o dal repository, mediante un cambiamento dei dati in esso memorizzati, o dai singoli sottosistemi (flusso di controllo indipendente).
Vantaggi dell'architettura Repository [modifica]
- Modo efficiente di condividere grandi mole di dati
- Un sottosistema non deve preoccuparsi di come i dati sono prodotti o usati dagli altri sottosistemi.
- Gestione centralizzata di backup, sicurezza, controllo di accesso e recovery da errori.
- Facile aggiungere nuovi sottosistemi
Svantaggi dell'architettura Repository [modifica]
- I sistemi devono concordare un modello per i dati di compromesso, il che potrebbe influire negativamente sulle prestazioni.
- L'adozione di un nuovo modello per i dati diventa difficile e costosa: deve essere modificato interamente il repository ed aggiornati tutti i sottosistemi.
- La centralizzazione di backup e sicurezza non permette di gestire possibili requisiti specifici di alcuni sottosistemi.
- È difficile distribuire efficientemente il repository su più macchine separate, continuandolo a vedere come logicamente centralizzato. Si verrebbero infatti a creare problemi di ridondanza e consistenza dei dati.