gtag('config', 'AW-17539930652');
top of page

IBM i e Intelligenza Artificiale: le risposte alle domande che tutti si fanno (con esempi)

10 ore fa
Tempo di lettura: 4 min
IBM I E ai

L'IA sta arrivando anche su IBM i. Ma come si fa, concretamente, a preparare i dati? E quali sono gli ostacoli reali? Ecco le risposte alle domande più comuni, con esempi pratici.


Come posso preparare i dati di IBM i per l'intelligenza artificiale?

La risposta è più semplice di quanto sembri: parti da dove i dati vivono già.


Il DB2 for i contiene anni di storia aziendale: ordini, clienti, fatture, movimenti.

È un patrimonio informativo enorme.


Il problema è che spesso questo tesoro è chiuso in una cassaforte con etichette scritte in una lingua che l'IA non capisce.


Facciamo un esempio. Immagina una tabella DB2 for i con un campo chiamato CUSNM. Tu sai che significa "customer name". Ma un modello di IA che lo vede per la prima volta che cosa capisce? Niente. Potrebbe pensare a un codice fiscale, a un numero di serie, a un codice interno. Stessa cosa per ORDDT (order date) o ITMNBR (item number). Sono abbreviazioni nate decenni fa, quando i nomi dei campi potevano avere al massimo 10 caratteri. Erano un compromesso necessario. Oggi sono un ostacolo.

E qui arriva il primo trucco che forse non tutti conoscono. DB2 for i, nella sua parte SQL, supporta nomi di colonna fino a 128 byte. Come? Usando il costrutto FOR COLUMN quando crei la tabella:

sql

CREATE TABLE CLIENTI (
  CUSNM FOR COLUMN customer_name CHAR(30),
  ORDDT FOR COLUMN order_date DATE
);

Così le applicazioni legacy continuano a usare CUSNM e ORDDT, mentre gli strumenti moderni (SQL, ODBC, e i modelli di IA) vedono customer_name e order_date. Un piccolo stratagemma che fa una differenza enorme.



Quali sono i limiti dei nomi dei campi in DB2 for i e come si superano?

Il problema non è solo "quanto sono lunghi i nomi", ma quanto sono documentati e contestualizzati. Ci sono tre ostacoli principali:

1. Il limite storico dei 10 caratteri. I nomi nativi di DB2 for i sono spesso criptici: CUSNM, ORDDT, ITMNBR. Per un modello di IA, sono rumore. La soluzione è usare FOR COLUMN per assegnare un nome lungo e descrittivo in SQL, mantenendo l'alias corto per le interfacce legacy.

2. I caratteri speciali. I nomi nativi di IBM i possono contenere @, # e $. Peccato che molti driver ODBC e strumenti di data warehousing li digeriscano male. Se prevedi di esportare i dati verso l'IA, meglio evitarli.

3. La deriva semantica. In un sistema lo stesso concetto si chiama CUSNM, in un altro CLINOME, in un terzo NOMECLI. Per un essere umano è chiaro che sono la stessa cosa. Per un modello di IA no. Serve una mappatura, un dizionario che dica: "questi tre nomi significano tutti customer_name".

La soluzione più pragmatica è costruire un data layer intermedio. Sincronizzi i dati da DB2 for i verso un data warehouse cloud (con tecniche come CDC, Change Data Capture), e lasci che l'IA lavori su quella copia. Il core transazionale resta intoccato. La sicurezza di IBM i resta intatta.


Cos'è X-Analysis e perché è utile per l'intelligenza artificiale?

X-Analysis è uno strumento che analizza le applicazioni IBM i da oltre 25 anni. Usato da aziende come Fiserv, Mazda, Siemens e Halliburton, nelle ultime release è stato potenziato con funzionalità di IA che lo rendono perfetto per chi vuole preparare i dati di IBM i a un percorso di intelligenza artificiale.

Cosa fa concretamente?

Immagina di avere un programma RPG scritto vent'anni fa. Dentro c'è un campo CUSNM. Nessuno si ricorda più cosa significhi esattamente. X-Analysis analizza il codice sorgente, ricostruisce il data flow e ti dice esattamente cosa fa quel campo, dove viene usato e come si collega al resto dell'applicazione.

E non si ferma qui. X-Analysis è in grado di estrarre automaticamente i nomi lunghi per i campi, riutilizzando il testo descrittivo dei file concatenato con underscore. In pratica, quello che per te era CUSNM diventa customer_name. Tutto automaticamente, senza scrivere una riga di codice.

E con l'IA? X-Analysis AI utilizza il repository di analisi come base per il RAG (Retrieval Augmented Generation), permettendo di interrogare l'applicazione in linguaggio naturale. In pratica, puoi chiedere: "Spiegami cosa fa questo programma" e ottenere una risposta basata sulla realtà del codice, non su supposizioni. E con il supporto MCP (Model Context Protocol), strumenti come IBM Bob possono interrogare direttamente il repository di X-Analysis durante lo sviluppo.


Perché non posso connettere l'IA direttamente al DB2 di produzione?

È una cattiva idea, e i motivi sono concreti:

  • Carichi imprevedibili: un agente IA può lanciare query pesanti a qualsiasi ora.

  • Problemi di sicurezza: l'IA moltiplica le vie d'accesso al sistema tramite protocolli come ODBC, SSH, DRDA e HTTP, superando il vecchio perimetro protetto dei terminali 5250.

  • Blocchi e contenzioni: il core transazionale potrebbe rallentare .

Come evidenziato dall'esperto Richard Dolewski su IT Jungle, il modello nativo "Deny by Default" di IBM è ancora valido, ma non basta più.

Per implementare l'IA in sicurezza, servono strategie basate su quattro pilastri:

  1. visibilità totale del patrimonio informativo,

  2. controllo operativo granulare dei flussi,

  3. resilienza dell'infrastruttura

  4. governance rigida dei profili di accesso.

La strada giusta è il data layer: sincronizzi i dati da DB2 for i verso un ambiente dedicato (cloud o on-premise) e lasci che l'IA lavori su quella copia.

Il core resta intoccato.


Come si estraggono le business rule dal codice RPG e COBOL per l'IA?

X-Analysis è in grado di estrarre le business rule dal codice RPG e COBOL, scrivendole in pseudo-codice o in inglese strutturato. Immagina di poter dire a un modello di IA: "Questa non è solo una query SQL. È una regola di business che dice che un ordine può essere spedito solo se il cliente ha un credito positivo". X-Analysis te lo documenta automaticamente.

Questo è fondamentale perché le regole di business sono spesso sepolte nel codice, mescolate con logica di interfaccia, I/O su database e controllo di flusso. Senza estrarle e documentarle, qualsiasi modello di IA rischia di produrre risultati inutili o fuorvianti.


In sintesi: da dove si comincia?

Portare l'IA su IBM i non è fantascienza. È un lavoro di metodo:

  1. Parti dai dati: il DB2 for i è il tuo patrimonio.

  2. Rendi i nomi comprensibili: usa FOR COLUMN e strumenti come X-Analysis per creare un dizionario dei dati.

  3. Estrai le business rule: documenta la logica che sta dietro ai dati.

  4. Costruisci un data layer: sincronizza i dati con CDC e lascia che l'IA lavori su una copia.

  5. Non toccare il core: la sicurezza di IBM i resta intatta.

E tu, quanti CUSNM hai nel tuo DB2? Forse è il momento di dare loro un nome vero. 😉


tratto dall'articolo



Commenti

Valutazione 0 stelle su 5.
Non ci sono ancora valutazioni

Aggiungi una valutazione
bottom of page