Tecnologie per sistemi informativi distribuiti e sistemi legacy

Tecnologie per sistemi informativi distribuiti e sistemi legacy

Sistemi informativi distribuiti

Le architetture dei sistemi informativi si sono evolute nel corso degli anni passando da schemi centralizzati a modelli distribuiti e diffusi, maggiormente rispondenti alle necessità di decentralizzazione e cooperazione delle moderne organizzazioni. In questa tendenza alla distribuzione svolge un ruolo importante la Distributed Object Computing (D.O.C.) technology, che nasce dalla fusione tra l’OO (Object Orientation), che offre un modello più naturale e flessibile per lo sviluppo delle applicazioni, e la DC (Distributed Computing), che risponde all’esigenza di decentralizzare l’elaborazione. Nella realizzazione di un sistema distribuito gioca un ruolo fondamentale il middleware, lo strato di software che si fa carico di tutti gli aspetti relativi alla comunicazione, alla sicurezza, alla localizzazione dei componenti. Grazie alle notevoli possibilità offerte dal middleware, in termini di trasparenza rispetto alle modalità di accesso alle risorse, è possibile organizzare un sistema distribuito secondo varie ed articolate configurazioni architetturali. Per la D.O.C. sono state proposte numerose metodologie e modelli di progettazione e sviluppo. Sono inoltre disponibili, a diversi livelli di maturazione, differenti tecnologie fra le quali emergono lo standard industriale OMG CORBA, la proposta commerciale DCOM proposta da Microsoft, la soluzione Java, la tecnologia WEB. E’ probabilmente soltanto dalla capacità di scegliere e di integrare queste tecnologie in coerenza con le esigenze applicative che dipende il successo dei sistemi distribuiti ad oggetti. Le tecnologie disponibili hanno o stanno per raggiungere, in generale, un livello di maturità accettabile per consentirne l’impiego in contesti pratici di rilievo, ma si attende ancora un’ulteriore maturazione sui fronti della scalabilità, della robustezza, della portabilità e della sicurezza, e lo sviluppo di ambienti di sviluppo e di supporto all’esercizio dei sistemi che facilitino il compito degli specialisti.

Tecnologie per sistemi informativi distribuiti e sistemi legacy

Il trattamento dei legacy system (sistemi legacy)

Un sistema legacy è un sistema informativo (apparecchiature, software di base, programmi applicativi, procedure organizzative) strategico per un’organizzazione e quindi non eliminabile o sostituibile in tempi accettabili, ma inadeguato dal punto di vista tecnologico. Le criticità dei sistemi legacy non sono relative al loro funzionamento attuale, ma piuttosto alla difficoltà del loro “trattamento” al fine di consentirne l’evoluzione per adeguarsi ai cambiamenti dell’organizzazione o il rilascio di  nuovi servizi orientati principalmente all’integrazione con altri sistemi interni o esterni. La stragrande maggioranza dei sistemi legacy è sviluppata in ambiente mainframe; la principale differenziazione fra di essi dipende dal modo con cui, nei programmi, sono organizzati i servizi di presentazione, logica applicativa ed accesso ai dati: più i tre servizi sono distinti, più semplice sarà il trattamento del sistema legacy. Un sistema legacy è comunque sottoposto a manutenzione di tipo migliorativo, adeguativo, correttivo ed evolutivo; il problema è che questo tipo di manutenzione diventa col tempo via via più difficile e i relativi costi eccessivamente elevati. Un modo per cercare di ridurre la spesa è quello di effettuare un’attività di reverse engineering, ovvero di analisi e di rappresentazione astratta del sistema esistente, per facilitare la manutenzione e costituire un insieme di specifiche utilizzabili per un eventuale rifacimento del sistema; il limite del reverse engineering è costituito soprattutto dai costi molto elevati per il suo svolgimento. Se sostituire il sistema esistente realizzandone uno completamente nuovo è un’operazione impraticabile dal punto di vista economico e dei tempi richiesti, un approccio possibile, anche se con alcuni rischi, è quello della migrazione, ovvero della sostituzione, in genere graduale, delle diverse componenti obsolete dal punto di vista tecnologico con altre più aggiornate. La migrazione riguarda innanzitutto l’interfaccia del sistema, da interfaccia a carattere a grafica, e i dati, da riorganizzare secondo una logica in genere relazionale; la migrazione della logica applicativa è quella più complessa da realizzare in quanto può richiedere la riscrittura di gran parte del codice. Per tutte le componenti sono disponibili strumenti che assistono nella migrazione; inoltre nel corso della migrazione è possibile rilasciare via via le componenti già convertite collegando i sistemi vecchio e nuovo tramite gateway. Seguire una specifica metodologia di migrazione può rendere il processo più razionale ed efficiente, riducendo i rischi di progetto. Ma l’approccio più promettente è quello di conservare il sistema esistente per le funzionalità ancora valide per l’organizzazione (in genere quelle di livello operativo) ed integrarlo con altri sistemi attraverso il meccanismo del wrapping. Il wrapper è il software che realizza questo meccanismo, nascondendo l’implementazione effettiva delle funzionalità del sistema e presentandole attraverso un’interfaccia ben definita. In questo modo gli altri sistemi potranno usufruire dei servizi esistenti semplicemente richiamandoli senza interessarsi della struttura del sistema che li realizza. Le tecnologie che abilitano questo paradigma sono le cosiddette tecnologie di mediazione.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *