I grandi sistemi in ambito Mainframe: come facilitarne la Gestione e la Modernizzazione
Sempre più spesso molte organizzazioni si trovano a gestire un patrimonio software, anche di grandi dimensioni, sviluppato magari parecchie decine di anni fa, con stratificazioni di interventi e funzionalità che si sono evolute nel corso degli anni. Specialmente in ambito Mainframe, con linguaggi come Cobol, RPG o Assembler che richiedono personale con skill ormai difficili da reperire, talvolta i tecnici raggiungono l’età della pensione e lasciano l’azienda con un vuoto di competenze e di memoria che è difficile colmare. Intraprendere la strada di rifare da zero queste applicazioni è un’impresa ardua se non impossibile: la quantità di codice sviluppato, e ormai affinato da anni di test e correzioni, è tale da richiedere grandi investimenti e va ad impattare sul funzionamento di decine se non centinaia di servizi esterni con cui comunicano, con effetti e rischi sul funzionamento di tutto il restante parco applicativo.
Molto spesso i team che prendono in carico questi sistemi, ereditandoli dal personale che ha lasciato l’azienda, ne conoscono soltanto una minima parte e, quando vengono richieste modifiche o nuove funzionalità, procedono per copia-incolla andando a prendere procedure preesistenti, clonandole e modificandole. Il motto è “non si butta mai nulla”: c’è il terrore di eliminare una componente utilizzata da qualche processo dimenticato e quindi questi repository continuano a crescere a dismisura.
Come fare a mettere le mani su questi repository e riuscire a dismettere quello che non è più in uso? Come capire quali sono i pezzi di codice effettivamente referenziato? Come individuare quali sono i componenti e le procedure realmente impattate da una modifica? Come separare le transazioni e le diverse funzionalità, in un’ottica di rifacimento parziale o graduale con tecnologie più recenti?
La risposta a tutte queste domande è fornita da CAST con CAST Imaging. A partire dal codice sorgente dell’applicazione, CAST Imaging individua tutti i componenti e i manufatti software sviluppati nei differenti linguaggi e le loro dipendenze, le catene di chiamate a partire dall’innesco di una transazione o da una funzionalità esposta, attraverso tutti i livelli dello stack tecnologico dell’applicazione dal Front-end al Back-end, allo strato di accesso ai dati fino alle tabelle impattate nel DBMS (Database Management System). Data la quantità di oggetti coinvolti e la complessità delle interazioni, CAST Imaging effettua una clusterizzazione di queste componenti a diversi livelli di dettaglio (un po’ come lo zoom di google maps) per facilitare la navigazione e una comprensione dell’architettura delle applicazioni.
Un esempio concreto in ambito Mainframe è dato dalle seguenti viste:
- Vista 1: Gli oggetti sono stati raggruppati per tipologia di file: Programmi Cobol, CopyBook, JCL, Mappe CICS (Files BMS), Programmi Assembler (ASM). Da questa vista è possibile vedere la numerosità degli oggetti per ciascuna tipologia e il numero delle dipendenze individuate tra ciascuna tipologia.
- Vista 2: andando ad investigare la dipendenza tra file assembler e programmi cobol, è possibile visualizzare il dettaglio degli oggetti coinvolti in queste reference ed il relativo codice sorgente, con evidenziata la riga in cui avviene la chiamata.
- Vista 3: è possibile visualizzare la completa catena di chiamate con gli oggetti impattati a partire dall’esecuzione di ciascuna transazione CICS. Dato che la quantità di oggetti e la dimensione dell’albero può aumentare in modo esponenziale, CAST Imaging permette di restringere la visualizzazione soltanto agli oggetti contenitore, di più alto livello e alle loro dipendenze.
Naturalmente, tutte le viste generate su CAST Imaging, con i relativi oggetti e links, possono essere salvate ed esportate in report di diverso tipo, sia grafico che tabellare (Excel, Powerpoint, JPG, CSV,…). Sulle viste si possono riportare annotazioni e i grafi possono essere organizzati in vari modi per rendere più leggibili le blueprint ottenute.
L’accesso a CAST Imaging avviene tramite web, ciascun utente può accedere dal proprio browser con la propria utenza aziendale, senza dover installare nulla.
Per la copertura completa delle tecnologie supportate in ambito Mainframe si rimanda al seguente link:
https://doc.castsoftware.com/display/TECHNOS/Mainframe+-+Covered+technologies
Per una rassegna completa delle tecnologie coperte per tutti i linguaggi:
https://doc.castsoftware.com/display/TECHNOS/
Altri linguaggi, tra cui Assembler, sono disponibili come estensioni dal portale di CAST Extend:
https://extend.castsoftware.com/#/search
Comments: