Tipologie di Sistemi Legacy (Legacy System)
Le applicazioni ed i sistemi legacy, da una prospettiva di trattamento, possono essere classificate come:
- Altamente decomponibili, sono ben strutturati e presentano alcune caratteristiche fondamentali:
- I componenti applicativi sono separabili in logica di presentazione, logica applicativa e logica d’accesso ai dati, cioè il software è decomposto in tre livelli logici.
- I moduli applicativi sono indipendenti tra di loro (non ci sono interdipendenze gerarchiche).
- I moduli applicativi hanno interfacce ben definite con i servizi di database, quelli di presentazione e le altre applicazioni.
- Data decomponibili, sono sistemi cosiddetti “semistrutturati” con le seguenti caratteristiche fondamentali:
- I componenti applicativi sono separabili in due livelli: i servizi d’accesso ai dati e quelli di presentazione e logica applicativa (fusi in un unico blocco).
- I moduli applicativi hanno interfacce ben definite verso le altre applicazioni.
- In questi sistemi è possibile accedere direttamente ai dati, ma non alla logica applicativa.
- Program decomponibili, sono anch’essi semistrutturati con le seguenti caratteristiche:
- I componenti applicativi sono separabili in due livelli: i servizi di presentazione e quelli d’accesso ai dati e logica applicativa (fusi in un unico blocco).
- I moduli applicativi hanno interfacce ben definite verso le altre applicazioni.
- In questi sistemi non è possibile accedere direttamente ai dati, ma è necessario invocare delle funzioni predefinite (tipicamente una transazione). In questa categoria rientrano la maggior parte delle applicazioni legacy.
- Monolitici (non strutturati), sono sistemi in cui tutti i componenti appaiono come un unico blocco in cui tutti i tre livelli logici sono fusi insieme. Generalmente a questi sistemi si può accedere solo attraverso l’invocazione da terminale.
Molte applicazioni in realtà hanno un’architettura che è una combinazione di queste quattro. Dal punto di vista della facilità di trattamento, i Legacy System possono essere distinti in:
- Ostili: sono quelli che non permettono la possibilità di interfacciamento con l’esterno.
- Trattabili: l’interfacciamento con altri sistemi risulta possibile con un certo sforzo di programmazione e tecnologie ad hoc.
- Amichevoli: l’interfacciamneto con l’esterno è facilmente fattibile.
È evidente che i sistemi del primo tipo sono amichevoli, quelli Data/Program decomponibili risultano trattabili, mentre quelli dell’ultimo tipo rimangono ostili.