La sviluppatrice si è unita tre mesi fa. Il suo primo incarico: trovare ogni programma che legge dal CUST-BALANCE campo nel record anagrafico del cliente. Il suo responsabile le disse che la risposta era probabilmente intorno a quaranta programmi. Iniziò dal CMDB, incompleto, ultimo aggiornamento nel 2021. Controllò l'inventario delle applicazioni, che documenta i sistemi ma non i programmi al loro interno. Chiese allo sviluppatore senior che era nel team da dodici anni, il quale ipotizzò cinquanta, forse sessanta, difficile da dire con certezza. Aprì la libreria sorgente del mainframe e iniziò a leggere i file COBOL uno alla volta.
Sei giorni dopo, aveva una lista di quarantasette programmi. Non era sicura che fosse completa.
Quella ricerca manuale di sei giorni è l'equivalente, nel contesto di un codebase legacy, di cercare un documento aprendo ogni cassetto di un schedario in un edificio senza planimetria. Gli schedari esistono. I documenti sono al loro interno. L'edificio non ha un indice, non ha una barra di ricerca e non c'è modo di chiedere "dove si trova tutto ciò che menziona questo?". La ricerca aziendale per i codebase legacy esiste proprio per risolvere questo problema, per rendere esplicitamente interrogabile, in pochi secondi, l'inventario implicito di un'applicazione COBOL o mainframe, con risposte che possono essere verificate rispetto al codice sorgente anziché ricostruite a memoria.
Trova qualsiasi cosa in pochi secondi
SMART TS XL Rende interrogabili tutti i campi, i programmi, i copybook e i job presenti nel codice sorgente legacy.
SCOPRI DI PIÙ…Cosa significa Enterprise Search per il codice legacy
La ricerca aziendale negli ambienti moderni, come SharePoint, Confluence, Slack e Google Workspace, è ormai consolidata. Si digita una query, l'indice restituisce risultati classificati e si clicca per visualizzarli. La ricerca funziona perché i moderni sistemi di gestione dei contenuti contengono metadati: titolo, autore, data, tag e una quantità di testo sufficiente a consentire a un indice full-text di produrre risultati significativi.
I codebase legacy differiscono in ogni aspetto rilevante per la ricerca:
Il contenuto è codice, non prosa. Una ricerca full-text di "CUST-BALANCE" in una libreria sorgente COBOL restituisce tutti i file che contengono esattamente quella stringa, inclusi commenti, definizioni di dati e riferimenti a divisioni di procedure. Il motore di ricerca adatto a questo tipo di contenuto deve essere in grado di comprendere la sintassi COBOL, non solo il testo.
Le relazioni sono nel codice, non in un catalogo. La connessione tra CUSTPROC e CUSTMSTR non si trova in un database, bensì nell'istruzione COPY all'interno di CUSTPROC. Trovare queste connessioni richiede l'analisi sintattica del codice, non l'indicizzazione del testo.
L'inventario è incompleto per definizione. Un codice sorgente obsoleto e non documentato non possiede un catalogo affidabile dei programmi esistenti, delle loro funzioni e dei legami che li uniscono. La ricerca deve essere il meccanismo di scoperta.
Le domande sono di natura strutturale, non basate su parole chiave. Uno sviluppatore che analizza un codice legacy è alla ricerca di uno schema strutturale: ogni programma che chiama una specifica sottoprogramma, ogni programma che legge uno specifico set di dati in corrispondenza di una specifica chiave. Si tratta di query di attraversamento di grafi, non di query basate su parole chiave.
Le sei ricerche più preziose nei codebase legacy
| # | Modello di query | Chi lo chiede | Cosa produce |
|---|---|---|---|
| 1 | Riferimento incrociato dei campi | Sviluppatore, architetto | Ogni programma che legge, scrive o ridefinisce un campo |
| 2 | Ambito di impatto | Consiglio di amministrazione, responsabile tecnico | Raggio d'azione di una proposta di modifica dello schema |
| 3 | Codice morto | Team di modernizzazione | Programmi senza riferimenti di produzione in entrata |
| 4 | Ricerca modello | Conformità, sicurezza | Ogni programma corrispondente a uno schema di codice strutturale |
| 5 | Estrazione delle regole aziendali | Analista, BA, revisore dei conti | Spiegazione in linguaggio semplice e catalogo delle regole |
| 6 | Esposizione normativa | Team GDPR, HIPAA e PCI | Ogni programma che accede a dati personali o campi regolamentati |
1. Riferimenti incrociati a livello di campo: dove vengono utilizzati questi dati?
"Trova ogni programma che legge, scrive o ridefinisce CUST-BALANCE." Questa è la domanda a cui lo sviluppatore citato nell'introduzione ha impiegato sei giorni per rispondere manualmente. Una ricerca aziendale di codice legacy risponde in pochi secondi, attraversando il grafo delle dipendenze dalla definizione del campo nel copybook a ogni programma che include il copybook e a ogni paragrafo che accede al campo.
Il risultato non è solo un elenco di programmi, ma un inventario strutturato che distingue tra lettori, scrittori, ridefinizioni e commenti. Lo sviluppatore che consulta questo risultato sa non solo che quarantasette programmi fanno riferimento a CUST-BALANCE, ma anche quali quattordici di essi vi scrivono, quali due lo ridefiniscono con un layout diverso e quali sei vi fanno riferimento solo tramite commenti.
2. Ambito di impatto di una modifica proposta
"Se estendo il campo CUST-BALANCE da nove a undici cifre, cosa si rompe?" Questa è la domanda di analisi d'impatto a cui ogni comitato consultivo per le modifiche deve rispondere prima di approvare una modifica dello schema. La ricerca parte dal campo modificato: quali programmi includono il copybook che lo definisce (ambito di compilazione), quali di questi programmi scrivono il campo in un file flat (ambito del contratto dati), quali sistemi a valle leggono questi file flat (ambito inter-sistema). La risposta è il raggio d'azione, strutturato e verificabile.
3. Identificazione del codice morto: cosa non viene mai eseguito?
"Quali programmi nella libreria CUSTMGMT non vengono mai richiamati da alcun job JCL di produzione?" Questa query richiede di tracciare le dipendenze in entrata per ogni programma in esame e di filtrare quelli con zero riferimenti in entrata in produzione. Il risultato è l'inventario del codice morto, ovvero i programmi che esistono nella libreria ma non vengono mai eseguiti, che rappresenta la riduzione dell'ambito di migrazione necessaria a qualsiasi programma di modernizzazione prima di impegnare un budget.
4. Ricerca di pattern: trova ogni programma che esegue X
"Trova ogni programma che apre un file senza controllare lo stato del file." Questa è una ricerca di conformità, che identifica uno specifico schema di codice nell'intero portfolio. A differenza di una ricerca per parole chiave, richiede un'analisi strutturale: il motore di ricerca deve comprendere la sintassi COBOL abbastanza bene da riconoscere che un'istruzione OPEN seguita da un controllo dello stato del file è diversa da una che non lo è. Trovare questo schema in un portfolio di quattromila programmi in pochi minuti fa la differenza tra una conformità valutata sistematicamente e una valutata solo quando un incidente rivela una lacuna.
5. Estrazione delle regole aziendali: a cosa serve?
“Spiega cosa fa GLPOST7 ed elenca tutte le regole che applica.” Questa è una richiesta di documentazione: l'utente desidera comprendere lo scopo e la logica di un programma senza dover leggere quattromila righe di codice COBOL. La ricerca aziendale mette in evidenza la struttura: quali file il programma legge e scrive, quali condizioni EVALUATE contiene, quali sottoprogrammi chiama e quali dati trasforma. Combinata con la comprensione basata sull'intelligenza artificiale, questa struttura si trasforma in una spiegazione in linguaggio naturale con un catalogo di regole strutturato.
6. Esposizione normativa: dove vengono elaborati i dati regolamentati?
"Trova ogni programma che accede ai campi PII, nome, codice fiscale, data di nascita, indirizzo." Questa è una query di inventario di conformità. Il motore di ricerca analizza le definizioni dei campi in tutti i copybook, identifica i campi che corrispondono ai modelli di denominazione PII e alle firme dei tipi di dati (PIC 9(9) per il codice fiscale, PIC X(30) per il nome) e traccia ogni programma che include tali copybook. Il risultato è l'inventario del trattamento dei dati personali richiesto dalle richieste di accesso ai dati da parte degli interessati ai sensi del GDPR e dalle valutazioni HIPAA.
Perché gli strumenti di ricerca standard non possono farlo
Gli strumenti adatti alla ricerca aziendale generica, come Elasticsearch, Coveo, Glean e Microsoft Search, sono progettati per la ricerca di documenti e conoscenze. Eccellono nell'indicizzazione di contenuti in linguaggio naturale, nella classificazione per pertinenza e nell'individuazione della corrispondenza semantica più vicina a una query. Nessuno di essi, però, comprende il linguaggio COBOL.
L'applicazione di un motore di ricerca testuale a una libreria sorgente COBOL produce risultati che corrispondono alla stringa di ricerca, ma non all'intento della ricerca stessa. Una ricerca per "CUST-BALANCE" restituisce file che contengono quei caratteri, ma non può indicare se la corrispondenza è una definizione di campo, un'istruzione MOVE, una chiave READ o un commento. Non può attraversare il grafo delle dipendenze COPY per trovare programmi che fanno riferimento al campo tramite un copybook anziché direttamente. Non può distinguere i programmi in esecuzione in produzione dai programmi che sono codice morto. Non può seguire un'istruzione JCL DD fino al programma che invoca.
Questi non sono limiti della qualità del motore di ricerca, bensì limiti del modello di ricerca. La ricerca testuale nel codice è un errore di categoria. Le domande a cui i codebase legacy richiedono una risposta sono query sui grafi di dipendenza, corrispondenze di pattern strutturali e analisi semantica del codice. Lo strumento che fornisce queste risposte deve comprendere il linguaggio in cui è scritto il codice.
CHIEDI ALL'IA: Linguaggio naturale su contesto aziendale verificato
I sei modelli di ricerca sopra descritti richiedono tutti query strutturali precise. Gli sviluppatori che lavorano quotidianamente con COBOL sono in grado di formulare tali query. Architetti, analisti, responsabili della conformità e project manager che necessitano di risposte, ma non conoscono il linguaggio COBOL, non possono farlo.
ASK AI colma questo divario. Si posiziona al di sopra dell'intelligenza applicativa indicizzata, strutturata e verificata che SMART TS XL Formula e accetta domande in un linguaggio semplice:
“Quali di questi programmi applicano la penale per il ritardo nel pagamento e dove?”
“Spiegate questo programma, che ha 40 anni, in parole semplici.”
“Mappare ogni lavoro e programma che coinvolge il sistema di gestione dei sinistri.”
"Estrarre tutte le regole di validazione dal ciclo di pagamento."
La differenza fondamentale tra ASK AI e uno strumento di chat AI generico risiede nel contesto di partenza. Uno strumento di chat generico inizia con una casella di testo vuota, l'utente deve trovare i file corretti, incollare il codice corretto e sperare di non aver tralasciato nulla di importante. ASK AI parte da un set di risultati controllato e scoperto dall'azienda: i programmi effettivi, i copybook, le tabelle DB2 e i job JCL che SMART TS XL È indicizzato e strutturato. Ogni risposta rimane collegata alla fonte di prova. Ogni risultato è riconducibile alla sua origine.
Non si tratta di un'intelligenza artificiale che opera sulla base di supposizioni ricavate da dati di addestramento. Si tratta di un'intelligenza artificiale che opera su un contesto verificato proveniente dal codice sorgente effettivo, la differenza tra chiedere a qualcuno che ha letto un manuale COBOL una sola volta e chiedere a qualcuno che ha letto ogni singola riga del tuo codice COBOL specifico.
Tre livelli, un unico stack di intelligenza:
- Ricerca aziendale, domande strutturali risposte in pochi secondi, senza bisogno di intelligenza artificiale
- CHIEDI ALL'AI, linguaggio naturale su contesto aziendale verificato, all'interno SMART TS XL
- Connettore MCP, la stessa intelligenza, disponibile a qualsiasi assistente IA approvato da qualsiasi dispositivo
| Chat generica basata sull'IA | SMART TS XL + CHIEDI ALL'IA | |
|---|---|---|
| Contesto iniziale | Frammenti incollati manualmente | Set di risultati scoperti dall'azienda |
| Relazioni applicative | Assente dal prompt | Codice, dati, lavori, schemi, dipendenze |
| Scala | Un file alla volta | Migliaia di programmi in analisi in background |
| Tracciabilità | Risposta separata dalla fonte | Risultati collegati alle fonti |
| Ripetibilità | Dipende dalla sollecitazione individuale | Prompt parametrizzati, salvati e condivisi |
| Scelta del modello | Modello del fornitore | Modello approvato dall'organizzazione |
Il connettore MCP: ricerca aziendale da qualsiasi assistente IA
Il Model Context Protocol (MCP) è lo standard aperto che consente agli assistenti IA di chiamare strumenti esterni. SMART TS XL MCP Connector mette a disposizione l'intero livello di intelligenza applicativa, la ricerca aziendale, i report di riferimento incrociato, la tracciabilità dei campi, l'analisi del flusso di controllo e l'analisi dell'impatto, come strumenti che qualsiasi assistente compatibile con MCP può richiamare.
Il risultato pratico: uno sviluppatore che utilizza Claude, ChatGPT, Microsoft Copilot, Gemini o Grok può porre domande sul codice sorgente legacy in linguaggio semplice all'assistente che già utilizza e ricevere risposte basate su codice sorgente verificato e connesso SMART TS XL analisi, senza aprire un altro strumento, senza esportare dati, senza copiare e incollare codice.
L'interazione dalla pagina MCP Connector mostra esattamente come si presenta:
L'utente chiede: "Spiegami il programma GLPOST7 e mostrami tutto ciò che modifica."
MCP chiama:
get_member_content,get_control_flow,cross_reference_reportRisposta: "GLPOST7 registra le transazioni contabili giornaliere dal flusso di richieste di rimborso. Legge 2 tabelle DB2, viene richiamato da 4 processi batch e condivide 3 copybook con il ciclo di pagamento. Ecco una descrizione dettagliata in linguaggio naturale, con ogni passaggio collegato alla relativa riga di codice sorgente."
Quella risposta, precedentemente ottenibile solo da un esperto COBOL che trascorreva ore a leggere file sorgente, JCL e documentazione dello scheduler batch, arriva in pochi secondi da qualsiasi assistente AI approvato. La conoscenza non è nei dati di addestramento dell'LLM. È in SMART TS XLIl livello di intelligenza applicativa di , reso disponibile tramite il connettore MCP su richiesta.
Il connettore MCP mette a disposizione di qualsiasi assistente connesso sei funzionalità principali:
| Capacità | Ciò che fa |
|---|---|
| Ricerca a livello aziendale | Programmi, settori, professioni e tipologie di dati in ogni ambiente indicizzato. |
| Fonte su richiesta | Contenuti riservati ai membri e codice preelaborato per qualsiasi programma o manuale. |
| Rapporti di riferimento incrociato | Analisi dell'utilizzo in programmi, quaderni di lavoro, tabelle e progetti. |
| Provenienza dei campi e dei dati | Relazioni tra campi e ridefinizioni tramite strutture dati COBOL |
| Controllo del flusso e AST | Comprensione strutturata dei programmi: alberi sintattici, complessità, grafo delle chiamate |
| Contesto organizzativo | Contesto del cliente, dell'utente e del dominio, in modo che gli assistenti rispondano secondo le tue indicazioni. |
Tutto questo è di sola lettura, autenticato e basato sui ruoli, l'assistente AI accede all'intelligenza che SMART TS XL ha, nei limiti delle autorizzazioni concesse dall'organizzazione.
Da sei giorni a secondi: cosa cambia?
Torniamo allo sviluppatore all'inizio di questo articolo. La sua domanda, "trova ogni programma che legge CUST-BALANCE", è una query di riferimento incrociato. Con SMART TS XLNella ricerca aziendale, digita il nome del campo e riceve il report di riferimento incrociato: quarantasette programmi, strutturati per tipo di accesso (lettura/scrittura/ridefinizione), ciascuno collegato alla riga sorgente in cui si verifica l'accesso. I sei giorni diventano trenta secondi.
Lo sviluppatore senior che ha ipotizzato cinquanta o sessanta non ha torto a essere incerto; quell'incertezza è la risposta onesta quando si lavora a memoria su una codebase che non è mai stata indicizzata sistematicamente. L'incertezza scompare quando la codebase viene indicizzata. L'ipotesi diventa un conteggio verificato, e il conteggio verificato diventa la base per ogni analisi successiva: la valutazione d'impatto prima dell'estensione del campo, l'ambito della migrazione prima dell'ondata di modernizzazione, la copertura dei test prima della suite di regressione.
La ricerca aziendale di codebase legacy non documentate non è uno strumento di produttività. È il prerequisito per prendere decisioni consapevoli su sistemi che per decenni sono stati gestiti a memoria e intuizione. L'inventario emerge dalla query. Le dipendenze emergono dall'analisi. La conoscenza che era racchiusa nel codice diventa accessibile a ogni membro del team, tramite ricerche strutturate, query AI in linguaggio naturale e tramite ogni assistente AI approvato che si connette attraverso l'MCP.
Come SMART TS XL Offre funzionalità di ricerca aziendale per codebase legacy.
SMART TS XL'S ricerca aziendale Indicizza l'intero panorama applicativo, i programmi COBOL, i flussi di lavoro JCL, i copybook, le tabelle DB2, i dataset e ogni dipendenza tra di essi, rendendoli interrogabili tramite un'interfaccia di ricerca che comprende la sintassi COBOL, la struttura JCL e le dipendenze tra i programmi. Le query che restituiscono risposte in pochi secondi sono le stesse che in precedenza richiedevano giorni di indagine manuale.
ASK AI estende questa capacità al linguaggio naturale: architetti, analisti, responsabili della conformità e project manager possono porre domande sul codice sorgente preesistente in un linguaggio semplice e ricevere risposte basate su analisi strutturali verificate, non sulla conoscenza generica di un modello linguistico che non ha mai visto quello specifico codice. Le risposte sono circoscritte ai programmi reali, collegate alle righe di codice sorgente effettive e ripetibili tramite modelli di richiesta salvati e condivisi.
Migliori Connettore MCP mette questa intelligenza in ogni assistente IA approvato dall'organizzazione: Claude, ChatGPT, Copilot, Gemini, Grok. Uno sviluppatore che pone una domanda su un codice legacy da un telefono riceve una risposta da SMART TS XLL'intelligenza applicativa è strutturata, verificata e connessa alla fonte, senza bisogno di cambiare strumento o esportare dati. Il connettore MCP è di sola lettura, autenticato e basato sui ruoli: l'IA approvata opera nel rispetto delle autorizzazioni dell'organizzazione, non aggirandole.
La mappatura delle dipendenze delle applicazioni è il fondamento che rende accurate le query di riferimento incrociato: ogni CALL, ogni COPY, ogni flusso di dataset, ogni riferimento a un programma JCL è presente nel grafico delle dipendenze prima ancora che venga eseguita qualsiasi ricerca. I report di riferimento incrociato prodotti dalla ricerca aziendale derivano da questo modello strutturale, non dalla corrispondenza di parole chiave con il testo sorgente.
L' analisi statica del codice aggiunge lo strato strutturale che distingue un motore di ricerca da una piattaforma di intelligence del codice: le query che trovano ogni programma con complessità ciclomica superiore a una determinata soglia, ogni programma che apre un file senza controllare lo stato del file, ogni programma che fa riferimento a un campo in una variante di REDEFINES, sono query strutturali, non ricerche testuali, e richiedono la comprensione analizzata e interpretata che l'analisi statica è in grado di fornire.
La trasformazione in una sola riga: sei giorni di ricerca manuale tra file COBOL → trenta secondi con un report di riferimenti incrociati verificato, strutturato per tipo di accesso e collegato alle righe del codice sorgente.
Il codice sorgente lo sa. Ora puoi chiederglielo.
Le informazioni che sei giorni di ricerca manuale alla fine producono erano sempre presenti nel codice sorgente. Ogni programma che legge CUST-BALANCE era sempre presente nella libreria sorgente. Le istruzioni COPY che collegano ogni programma al copybook erano sempre presenti nel codice sorgente. Il JCL che definisce il contesto di esecuzione era sempre presente nella libreria dei job. Il problema non era l'assenza di informazioni, ma l'assenza di un meccanismo per renderle visibili.
La ricerca aziendale per le codebase legacy è proprio questo meccanismo. Un'intelligenza applicativa indicizzata, strutturata e interrogabile che risponde a domande strutturali sul codice in pochi secondi anziché in giorni e che, tramite ASK AI e MCP Connector, risponde a tali domande in linguaggio naturale da qualsiasi assistente AI approvato utilizzato dall'organizzazione.
Il codice sorgente ha sempre conosciuto la risposta. Ora chiunque nel team può chiederla.


