Applicazioni legacy: vecchio software vitale, progettato su piattaforme obsolete, necessita di strategie specializzate per l'adattamento alle moderne infrastrutture informatiche.
Nell'era in continua evoluzione della tecnologia, le "applicazioni legacy" rappresentano un capitolo cruciale nella storia informatica aziendale. Questo articolo esplorerà la loro definizione, il loro impatto sulle operazioni aziendali e le sfide legate alla gestione e all'evoluzione di tali sistemi software. Scopriremo come le organizzazioni affrontano la necessità di mantenere o modernizzare queste applicazioni alla luce delle crescenti innovazioni tecnologiche.
Le applicazioni legacy si riferiscono a software o sistemi informatici che sono stati sviluppati in passato e che continuano ad essere utilizzati nonostante l'introduzione di nuove tecnologie e piattaforme. Questi programmi possono essere considerati "obsoleti" o "superati" in quanto sono stati progettati per lavorare su sistemi operativi, hardware o architetture precedenti. Tuttavia, sono ancora in uso per diversi motivi, inclusi vincoli tecnici, costi di migrazione elevati o dipendenza da funzionalità specifiche.
Ecco alcune caratteristiche comuni delle applicazioni legacy:
Sviluppo precedente
Le applicazioni legacy sono spesso state sviluppate su tecnologie e linguaggi di programmazione che erano comuni al momento della loro creazione, ma che possono ora essere considerati obsoleti.
Queste applicazioni sono state sviluppate utilizzando tecnologie, linguaggi di programmazione, e metodologie che erano predominanti al momento della loro creazione, ma che potrebbero ora essere considerati datati o superati. Questo aspetto dell'architettura delle applicazioni legacy può presentare diverse sfide, soprattutto quando si cerca di mantenere, aggiornare o migrare tali sistemi. Vediamo alcuni aspetti chiave:
- Linguaggi di programmazione obsoleti: Le applicazioni legacy spesso sono scritte in linguaggi di programmazione che erano comuni al momento dello sviluppo, ma che oggi potrebbero non essere più ampiamente utilizzati o supportati. Ad esempio, applicazioni scritte in COBOL, Fortran o altri linguaggi obsoleti potrebbero essere considerate legacy.
- Tecnologie di sviluppo obsolete: Oltre ai linguaggi di programmazione, le applicazioni legacy potrebbero utilizzare tecnologie di sviluppo obsolete, come librerie, framework o ambienti di sviluppo che sono stati superati da nuove soluzioni più moderne.
- Metodologie di sviluppo datate: Le applicazioni legacy potrebbero essere state sviluppate utilizzando metodologie di sviluppo obsolete, come approcci a cascata anziché metodologie agili. Questo può rendere difficile la manutenzione e l'aggiornamento delle applicazioni, specialmente se si cerca di introdurre nuove funzionalità in modo incrementale.
- Assenza di documentazione adeguata: Le applicazioni legacy potrebbero soffrire della mancanza di documentazione adeguata o aggiornata. La documentazione potrebbe essere stata persa nel tempo o potrebbe non essere stata mantenuta in modo accurato, rendendo difficile comprendere il funzionamento interno del sistema.
- Strutture dati obsolete: Le applicazioni legacy potrebbero utilizzare strutture dati obsolete o poco efficienti. Questo può rendere complesso apportare modifiche sostanziali ai dati o introdurre nuove funzionalità che richiedono una gestione avanzata dei dati.
- Avecchiamento hardware: Le applicazioni legacy spesso operano su hardware più vecchio, il che può rappresentare una sfida in termini di manutenzione e disponibilità di hardware sostitutivo in caso di guasti.
L'affrontare questi aspetti richiede una comprensione approfondita dell'architettura e della progettazione originale delle applicazioni legacy. Le strategie per gestire il "sviluppo precedente" includono la modernizzazione delle applicazioni, la riscrittura parziale o totale del codice, l'uso di strumenti di migrazione, e l'adozione di pratiche di sviluppo più moderne. Questo processo può essere complesso e richiedere un approccio strategico per garantire una transizione efficace verso soluzioni più moderne e sostenibili.
Incompatibilità con le nuove tecnologie
A causa dei cambiamenti nelle tecnologie hardware e software, le applicazioni legacy possono essere incompatibili con le versioni più recenti di sistemi operativi, framework o librerie di sviluppo.
Quando ci riferiamo all' "Incompatibilità con le nuove tecnologie" nel contesto delle applicazioni legacy, stiamo indicando che queste applicazioni possono avere difficoltà a funzionare correttamente o ad adattarsi alle tecnologie più recenti. Questa incompatibilità può verificarsi su diversi livelli, tra cui sistemi operativi, architetture hardware, protocolli di rete e librerie software. Ecco alcuni aspetti chiave dell'incompatibilità con le nuove tecnologie:
- Sistemi Operativi: Le applicazioni legacy sono spesso progettate per funzionare su sistemi operativi più vecchi, e potrebbero non essere compatibili con le versioni più recenti. Ad esempio, un'applicazione sviluppata per MS-DOS potrebbe non funzionare senza problemi su un sistema operativo Windows moderno.
- Architetture Hardware: Le nuove tecnologie hardware possono differire significativamente da quelle presenti al momento dello sviluppo delle applicazioni legacy. Questa incompatibilità può includere differenze nei set di istruzioni della CPU, nell'architettura del processore o nella gestione delle periferiche hardware.
- Protocolli di Rete: Se un'applicazione è stata progettata per funzionare su reti più datate o utilizza protocolli di comunicazione obsoleti, potrebbe non integrarsi facilmente con le moderne infrastrutture di rete, causando problemi di connettività.
- Librerie e Framework Obsoleti: Le applicazioni legacy spesso dipendono da librerie e framework di sviluppo obsoleti. Se queste librerie non sono più supportate o non sono disponibili su nuove piattaforme, potrebbe essere difficile far funzionare l'applicazione senza modifiche sostanziali.
- Problemi di Compatibilità con Browser: Se l'applicazione è basata su tecnologie web obsolete o utilizza plug-in specifici del browser, potrebbe non funzionare correttamente su browser moderni o richiedere l'uso di browser legacy.
- Cambiamenti nei Requisiti di Sicurezza: Le applicazioni legacy potrebbero non essere conformi agli standard di sicurezza più recenti, esponendo l'organizzazione a potenziali rischi di sicurezza. I requisiti di sicurezza, come la crittografia o la gestione delle credenziali, potrebbero essere insufficienti rispetto agli standard attuali.
Affrontare l'incompatibilità con le nuove tecnologie richiede soluzioni strategiche. Alcuni approcci comuni includono la modernizzazione delle applicazioni, la virtualizzazione, l'emulazione, la riscrittura del codice o l'utilizzo di strumenti di migrazione. Tuttavia, la scelta della strategia dipende dalle esigenze specifiche dell'organizzazione e dalla complessità dell'applicazione legacy in questione.
Manutenzione complessa
Le applicazioni legacy possono richiedere una manutenzione complessa a causa della loro struttura e architettura datate. La modifica o l'aggiunta di nuove funzionalità può essere difficile e dispendiosa in termini di risorse.
Quando ci riferiamo alla "manutenzione complessa" nel contesto delle applicazioni legacy, stiamo considerando i vari aspetti che rendono difficile e onerosa la gestione e l'aggiornamento di tali sistemi. La manutenzione complessa delle applicazioni legacy può presentare sfide significative, contribuendo alla crescente difficoltà di mantenere questi sistemi operativi e funzionali. Ecco alcuni aspetti che caratterizzano la manutenzione complessa delle applicazioni legacy:
- Struttura del Codice Complessa: Le applicazioni legacy spesso hanno una struttura del codice intricata e non ben documentata. Il codice può essere stato sviluppato senza seguire le pratiche moderne di ingegneria del software, rendendo difficile la comprensione e la modifica.
- Dipendenza da Tecnologie Obsolete: Le applicazioni legacy possono dipendere da tecnologie e linguaggi di programmazione obsoleti. L'aggiornamento o la sostituzione di componenti che utilizzano queste tecnologie può essere problematico, richiedendo una comprensione approfondita della logica di funzionamento dell'applicazione.
- Scarso Supporto della Documentazione: La documentazione delle applicazioni legacy potrebbe essere carente o mancante del tutto. La mancanza di documentazione aggiornata può rendere difficile per i team di sviluppo comprendere il funzionamento del sistema, aumentando il rischio di errori durante la manutenzione.
- Fragilità del Sistema: A causa dell'architettura obsoleta e delle tecnologie superate, le applicazioni legacy possono diventare fragili. Apportare modifiche può comportare il rischio di introdurre nuovi bug o problemi che sono difficili da individuare e risolvere.
- Risorse Umane Specializzate: Talvolta, la manutenzione delle applicazioni legacy richiede competenze specializzate che potrebbero non essere facilmente disponibili. Gli sviluppatori che conoscono a fondo le tecnologie obsolete possono essere scarsi, rendendo difficile trovare personale qualificato per la manutenzione.
- Ciclo di Sviluppo Prolungato: Il tempo richiesto per sviluppare, testare e implementare modifiche o nuove funzionalità nelle applicazioni legacy può essere significativamente più lungo rispetto alle soluzioni moderne. Ciò può rallentare il ciclo di sviluppo e impattare la reattività alle esigenze aziendali.
- Vincoli di Sicurezza: Le applicazioni legacy possono presentare rischi di sicurezza a causa della mancanza di aggiornamenti e patch di sicurezza. Mantenere questi sistemi in un ambiente aziendale può richiedere ulteriori misure di sicurezza e protezione.
Affrontare la manutenzione complessa delle applicazioni legacy richiede spesso strategie di modernizzazione o migrazione graduale, cercando di introdurre miglioramenti senza interrompere le operazioni aziendali critiche. Le organizzazioni possono scegliere di adottare nuove tecnologie, riscrivere il codice o virtualizzare l'ambiente di esecuzione delle applicazioni per semplificare la manutenzione e garantire la sostenibilità a lungo termine.
Mancanza di supporto del fornitore
In alcuni casi, il fornitore originale delle applicazioni legacy potrebbe non essere più attivo o potrebbe non fornire più supporto, aggiornamenti o correzioni di sicurezza.
La "Mancanza di supporto del fornitore" è una delle sfide comuni associate alle applicazioni legacy. Questa situazione si verifica quando il fornitore originale dell'applicazione legacy non fornisce più assistenza, aggiornamenti o manutenzione per il software. Questo può presentare diversi problemi e preoccupazioni per le organizzazioni che dipendono da tali applicazioni. Vediamo più da vicino alcuni aspetti significativi di questa mancanza di supporto:
- Assenza di Aggiornamenti di Sicurezza: Senza il supporto del fornitore, l'applicazione legacy non beneficia di aggiornamenti di sicurezza regolari. Questo può renderla vulnerabile a nuove minacce di sicurezza, poiché eventuali falle di sicurezza non vengono più corrette.
- Incapacità di Risolvere Problemi Tecnici: In caso di problemi tecnici o bug nell'applicazione, l'assenza di supporto del fornitore significa che l'organizzazione deve affrontare tali questioni internamente, spesso senza la guida esperta del creatore originale del software.
- Mancanza di Aggiornamenti Funzionali: L'evoluzione delle esigenze aziendali e delle tecnologie può richiedere nuove funzionalità o miglioramenti alle applicazioni. Senza il supporto del fornitore, l'organizzazione potrebbe non beneficiare di aggiornamenti funzionali per adattare l'applicazione a nuovi requisiti.
- Vincoli nell'Adozione di Nuove Tecnologie: L'assenza di supporto può limitare l'adeguamento dell'applicazione a nuove tecnologie o ambienti operativi. Ciò può diventare problematico quando l'organizzazione vuole adottare nuove piattaforme o integrazioni di tecnologie emergenti.
- Rischio di Obsolescenza: Senza un fornitore che supporti l'applicazione, c'è il rischio che l'applicazione diventi obsoleta nel tempo. Le tecnologie e i requisiti aziendali cambiano, e se un'applicazione non è in grado di evolversi, può diventare inutilizzabile.
Per affrontare la mancanza di supporto del fornitore, le organizzazioni possono considerare diverse strategie:
- Modernizzazione: Esplorare opzioni di modernizzazione come la riscrittura dell'applicazione utilizzando tecnologie più recenti o l'adozione di soluzioni software alternative.
- Virtualizzazione o Emulazione: Utilizzare soluzioni di virtualizzazione o emulazione per mantenere in esecuzione l'applicazione legacy su ambienti più moderni senza dover fare affidamento sul supporto del fornitore originale.
- Ricerca di Fornitori Alternativi: Se possibile, cercare fornitori o consulenti che possano offrire supporto e manutenzione per l'applicazione legacy.
- Migrazione Graduale: Se appropriato, pianificare una migrazione graduale verso nuove soluzioni, riducendo gradualmente la dipendenza dall'applicazione legacy.
In ogni caso, la gestione di applicazioni legacy senza supporto del fornitore richiede una valutazione oculata delle opzioni disponibili, bilanciando i rischi e i benefici associati a ciascuna strategia.
Dipendenza critica
In molte organizzazioni, le applicazioni legacy sono critiche per le operazioni quotidiane e la migrazione verso nuovi sistemi potrebbe comportare rischi significativi.
La "dipendenza critica" si riferisce al fatto che alcune organizzazioni possono avere una forte dipendenza da applicazioni legacy per svolgere funzioni aziendali fondamentali. Questa dipendenza può derivare da diversi fattori e presenta sfide significative quando si tratta di mantenere, aggiornare o sostituire queste applicazioni. Ecco alcuni aspetti chiave della dipendenza critica da applicazioni legacy:
- Integrazione con Processi Aziendali: Le applicazioni legacy spesso sono strettamente integrate con i processi aziendali esistenti. Ciò significa che qualsiasi cambiamento o sostituzione dell'applicazione potrebbe avere impatti significativi su altri sistemi o flussi di lavoro aziendali.
- Dati Storici e Core Business: Le applicazioni legacy possono contenere dati storici critici per l'azienda. La perdita o la difficile migrazione di questi dati può essere inaccettabile per l'organizzazione, rendendo difficile l'abbandono dell'applicazione legacy.
- Formazione del Personale: Gli utenti aziendali potrebbero essere esperti nell'uso delle applicazioni legacy e potrebbero aver sviluppato competenze specifiche nel corso del tempo. La transizione a nuove soluzioni potrebbe richiedere una formazione aggiuntiva e comportare resistenza al cambiamento.
- Adattamento alle Esigenze Aziendali: Nel corso degli anni, le applicazioni legacy potrebbero essere state adattate alle esigenze aziendali specifiche. Sostituire o aggiornare tali applicazioni potrebbe richiedere una personalizzazione simile nelle nuove soluzioni.
- Sicurezza e Conformità: Le applicazioni legacy possono essere soggette a regolamenti di conformità specifici o devono rispettare standard di sicurezza particolari. Garantire che le nuove soluzioni soddisfino tali requisiti può essere una sfida.
- Costi di Interruzione del Servizio: L'interruzione dei servizi basati su applicazioni legacy potrebbe avere costi significativi per l'azienda. Il tempo di inattività operativa può influire sulla produttività e sul servizio ai clienti.
- Vincoli di Budget: L'adozione di nuove tecnologie o la sostituzione di applicazioni legacy può comportare costi elevati in termini di sviluppo, formazione, e integrazione. Le organizzazioni potrebbero essere vincolate da limiti di budget, rendendo difficile l'investimento in soluzioni più moderne.
Per gestire la dipendenza critica da applicazioni legacy, le organizzazioni spesso cercano di bilanciare la necessità di mantenere la stabilità operativa con la necessità di adottare tecnologie più moderne. Ciò può comportare strategie come la modernizzazione graduale, la virtualizzazione dell'ambiente esistente, o l'implementazione di soluzioni di middleware per facilitare l'integrazione con sistemi più moderni. La chiave è sviluppare una strategia di gestione del cambiamento che mitigui i rischi associati alla dipendenza critica e guidi l'organizzazione verso soluzioni più sostenibili nel lungo termine.
Integrazione con sistemi esistenti
Le applicazioni legacy possono essere strettamente integrate con altri sistemi o processi aziendali, rendendo difficile la loro sostituzione senza causare interruzioni significative.
L'"Integrazione con sistemi esistenti" è un aspetto cruciale quando si tratta di applicazioni legacy. Le organizzazioni spesso dipendono da una serie di sistemi e applicazioni che lavorano sinergicamente per supportare le operazioni aziendali. L'integrazione efficace di un'applicazione legacy con questi sistemi esistenti è essenziale per garantire la continuità operativa e massimizzare l'efficienza complessiva. Ecco alcuni punti chiave relativi all'integrazione con sistemi esistenti:
- Interfacce di Programmazione (API): L'integrazione tra un'applicazione legacy e altri sistemi può avvenire attraverso API. Le API consentono alle applicazioni di comunicare tra loro in modo standardizzato, facilitando lo scambio di dati e l'accesso a funzionalità specifiche.
- Middleware: L'uso di middleware può semplificare l'integrazione tra applicazioni legacy e sistemi moderni. Il middleware agisce come uno strato intermedio che facilita la comunicazione e la cooperazione tra diverse applicazioni, anche se utilizzano tecnologie e protocolli diversi.
- Basi di Dati Comuni: L'integrazione efficace spesso coinvolge la condivisione di dati tra diverse applicazioni. Un'architettura di database comune o l'implementazione di meccanismi di sincronizzazione dei dati sono essenziali per mantenere l'accuratezza e la coerenza delle informazioni.
- Interoperabilità tra Sistemi Operativi: Le differenze tra i sistemi operativi possono rappresentare una sfida nell'integrazione di applicazioni legacy con sistemi più moderni. L'uso di standard aperti e la virtualizzazione possono essere strategie utili per superare questi ostacoli.
- Scambio di Messaggi: L'adozione di sistemi di messaggistica può agevolare l'integrazione, consentendo alle applicazioni di scambiare informazioni in tempo reale o in base a determinati eventi. Protocolli come MQTT o AMQP sono comuni per il trasferimento di messaggi tra sistemi.
- Sicurezza dell'Integrazione: L'integrazione deve essere implementata tenendo conto della sicurezza. La protezione dei dati sensibili e l'adozione di pratiche di sicurezza robuste sono essenziali per evitare vulnerabilità e minacce alla sicurezza.
- Monitoraggio e Gestione: Un sistema efficace di monitoraggio e gestione dell'integrazione è fondamentale per individuare tempestivamente eventuali problemi e garantire prestazioni ottimali. Strumenti di monitoraggio possono aiutare a tracciare il flusso dei dati e identificare eventuali interruzioni.
- Aggiornamenti Coordinati: Quando si pianifica l'aggiornamento o la sostituzione di un'applicazione legacy, è importante coordinare attentamente questi cambiamenti con altri sistemi e applicazioni. Ciò riduce al minimo l'impatto sulle operazioni aziendali quotidiane.
Affrontare l'integrazione con sistemi esistenti richiede una pianificazione attenta e una comprensione approfondita degli ambienti coinvolti. Spesso, le organizzazioni optano per approcci graduati per minimizzare i rischi e garantire una transizione senza intoppi. La collaborazione tra team IT e reparti aziendali è essenziale per garantire che l'integrazione soddisfi le esigenze aziendali e permetta una crescita futura senza compromettere la stabilità operativa.
Vincoli di budget
La migrazione o l'aggiornamento di applicazioni legacy può essere costosa in termini di tempo e risorse. Alcune organizzazioni possono ritardare l'aggiornamento a causa di limiti di budget.
Quando parliamo dei "vincoli di budget" nel contesto delle applicazioni legacy, ci riferiamo alla limitata disponibilità di risorse finanziarie per affrontare la modernizzazione, l'aggiornamento o la sostituzione di sistemi legacy. Questi vincoli possono influenzare significativamente le decisioni aziendali, creando sfide nel cercare di mantenere le operazioni aziendali senza superare i limiti finanziari prefissati. Ecco alcuni aspetti chiave relativi ai vincoli di budget nelle applicazioni legacy:
- Costi di Sostituzione o Aggiornamento: L'adozione di nuove tecnologie o la sostituzione di applicazioni legacy può comportare costi significativi, che possono includere sviluppo del software, formazione del personale, integrazione di sistemi e servizi di consulenza. Questi costi potrebbero superare il budget disponibile per la modernizzazione.
- Manutenzione Continua: Anche se le applicazioni legacy richiedono manutenzione continua per garantire il funzionamento, dedicare risorse finanziarie per la manutenzione a lungo termine può essere una sfida, specialmente se non vi è alcuna previsione di modernizzazione nel futuro prossimo.
- Dipendenza da Fornitori Specifici: Il costo associato all'assenza di supporto del fornitore, discusso precedentemente, può essere notevole. La ricerca e l'adozione di soluzioni alternative possono comportare costi inattesi.
- Impatto sui Budget Operativi: I progetti di modernizzazione o sostituzione spesso richiedono investimenti significativi, e le organizzazioni potrebbero trovarsi nell'impossibilità di assegnare risorse finanziarie sufficienti senza compromettere altri aspetti operativi cruciali.
- Analisi del Ritorno sugli Investimenti (ROI): Gli investimenti nelle applicazioni legacy richiedono un'analisi accurata del ritorno sugli investimenti. Le organizzazioni possono esitare a investire in aggiornamenti o modernizzazioni se non vedono chiaramente i benefici a lungo termine o se il ROI non è sufficientemente convincente.
- Priorità Aziendali: I budget limitati spesso portano le organizzazioni a fare scelte difficili in termini di priorità aziendali. Se ci sono diverse esigenze aziendali concorrenti, l'aggiornamento delle applicazioni legacy potrebbe essere posposto o compromesso.
- Gestione del Ciclo di Vita: Le applicazioni legacy possono richiedere una gestione del ciclo di vita efficiente, pianificando il rilascio di nuove versioni, patch e correzioni. La mancanza di budget può limitare la capacità di gestire il ciclo di vita in modo adeguato, aumentando il rischio di problemi tecnici e di sicurezza.
Per affrontare i vincoli di budget associati alle applicazioni legacy, le organizzazioni spesso cercano soluzioni creative e strategie che massimizzino il valore degli investimenti esistenti. Alcuni approcci comuni includono la modernizzazione graduale, l'utilizzo di soluzioni di virtualizzazione o emulazione, e la priorizzazione delle aree di maggior impatto sulla produttività e sulla crescita aziendale. La collaborazione tra i reparti aziendali e IT è essenziale per stabilire priorità, definire obiettivi chiari e trovare soluzioni pratiche all'interno dei vincoli finanziari.
Soluzioni per eseguire applicazioni legacy
Sebbene le applicazioni legacy possano presentare sfide, molte organizzazioni continuano a utilizzarle poiché sono ancora in grado di svolgere le funzioni necessarie. Esistono anche soluzioni come la virtualizzazione o l'emulazione che consentono di eseguire applicazioni legacy su hardware più moderno senza doverle completamente riscrivere.
la virtualizzazione e l'emulazione sono approcci comuni per eseguire applicazioni legacy su hardware più moderno senza doverle completamente riscrivere. Vediamo alcuni esempi di come queste soluzioni possono essere implementate:
- Virtualizzazione:
- VMware vSphere/ESXi: VMware fornisce una piattaforma di virtualizzazione che consente di eseguire macchine virtuali (VM) su hardware fisico moderno. Le applicazioni legacy possono essere eseguite all'interno di una VM configurata per supportare l'ambiente operativo in cui l'applicazione è stata originariamente sviluppata.
- Hyper-V di Microsoft: Hyper-V è una soluzione di virtualizzazione di Microsoft che permette di eseguire macchine virtuali su sistemi Windows Server. Le applicazioni legacy possono essere virtualizzate all'interno di una VM su un ambiente Windows.
- Emulazione:
- DOSBox: DOSBox è un emulatore open-source progettato per eseguire applicazioni DOS su piattaforme moderne. È particolarmente utile per eseguire software legacy sviluppato per MS-DOS.
- WINE: WINE (Wine Is Not an Emulator) è un'applicazione che fornisce un ambiente di esecuzione per applicazioni Windows su sistemi operativi basati su Unix/Linux, senza la necessità di un'installazione completa di Windows. Può essere utilizzato per eseguire applicazioni Windows legacy su hardware moderno.
- Containerizzazione:
- Docker: Docker è una piattaforma di containerizzazione che consente di incapsulare un'applicazione e le sue dipendenze in un container. Ciò può semplificare l'esecuzione di applicazioni legacy, consentendo loro di essere eseguite in un ambiente isolato e portatile.
- App-Virtualization:
- Microsoft App-V: Questa è una soluzione di virtualizzazione delle applicazioni che consente di incapsulare applicazioni Windows e distribuirle su un'ampia gamma di dispositivi senza la necessità di installazioni tradizionali. Può essere utilizzato per eseguire applicazioni legacy su piattaforme più moderne.
- Terminale Server/Citrix:
- Citrix XenApp: XenApp è una soluzione di virtualizzazione delle applicazioni che consente agli utenti di accedere a un'applicazione da un server centrale. In questo modo, le applicazioni legacy possono essere centralizzate e accessibili da dispositivi moderni tramite una connessione di rete.
Questi sono solo alcuni esempi di soluzioni che consentono di eseguire applicazioni legacy su hardware moderno. La scelta della soluzione dipende dalle specifiche esigenze dell'applicazione, dalla complessità del software legacy e dai requisiti dell'organizzazione.