Cos’è la modernizzazione RPG?

By David Zax

Cos'è la modernizzazione RPG

La modernizzazione RPG consiste nell’aggiornare i software aziendali obsoleti che funzionano sui computer di fascia media di IBM (programmi scritti in un linguaggio chiamato RPG, ovvero "Report Program Generator") in modo che possano integrarsi con i sistemi moderni e continuare a essere utilizzati nonostante la progressiva riduzione dei programmatori esperti, senza dover eliminare il codice originale e ricominciare da zero.

Queste applicazioni funzionano su IBM i, il successore del sistema operativo OS/400, che originariamente funzionava sulla piattaforma AS/400.

La modernizzazione RPG può comprendere diverse attività: rinnovare l’interfaccia utente, ripulire il codice, tradurlo in linguaggi più moderni, collegarlo ad altri software tramite API oppure trasferirlo nel cloud. Qualunque sia l’approccio adottato, l’obiettivo finale è preservare un software che funziona ancora, rendendolo al contempo attuale: un’attività che rientra nelle categorie più ampie di modernizzazione delle applicazioni e migrazione del codice legacy.

Cos'è RPG?

RPG è uno dei linguaggi di programmazione più vecchi ancora utilizzati quotidianamente in ambito commerciale. IBM l'ha creato nel 1959 per il computer IBM 1401, dove ha sostituito l'elaborazione tramite schede perforate e veniva utilizzato per generare report aziendali. Da qui deriva il suo nome, come racconta l'autore Nick Litten in "A Brief History of the IBM RPG Programming Language".I Per decenni ha gestito le buste paga, l’inventario e la fatturazione di banche, compagnie assicurative, aziende manifatturiere e rivenditori.

Il linguaggio si è evoluto nel corso degli anni. RPG II, la versione degli anni '60 e '70, era piuttosto rigida; i programmatori inserivano il codice in colonne fisse e si affidavano a un ciclo di elaborazione integrato. RPG III, introdotto con il System/38 nel 1979, aggiunse elementi costitutivi strutturati, come test condizionali, cicli e subroutine riutilizzabili, ormai indispensabili per i programmatori. IBM lo ribattezzò RPG/400 quando l'AS/400 fu lanciato nel 1988, secondo Wikipedia.

RPG IV, introdotto a metà degli anni '90, è la versione moderna di RPG utilizzata sui sistemi IBM i. È diventato parte dell'Integrated Language Environment di IBM, che ha permesso all'RPG di funzionare più facilmente insieme ad altri linguaggi aziendali come COBOL e C. Da allora, IBM ha costantemente modernizzato l'RPG, allontanandolo dal suo vecchio formato rigido basato su colonne. L'RPG di oggi, spesso chiamato RPGLE o ILE RPG, può essere scritto in uno stile libero che assomiglia molto più al normale codice moderno rispetto all'RPG dei decenni passati.

Approcci alla modernizzazione RPG

Cosa costituisce esattamente un "RPG moderno"? La modernizzazione delle applicazioni RPG, un’attività spesso ricondotta alla categoria più ampia della modernizzazione di IBM i, può essere sia superficiale che profonda.

Sul piano estetico c’è la modernizzazione dell’interfaccia utente: sostituire il “green screen” di solo testo, ovvero il display del terminale verde su nero delle applicazioni IBM i classiche, con un’interfaccia web o mobile, lasciando invariata la logica sottostante. Spesso è il miglioramento più rapido e visibile. Un approccio simile consiste nel lasciare RPG al suo posto, ma rendere la sua logica di business disponibile come servizi web, ovvero API che consentono alle applicazioni moderne di richiamare le funzioni e i dati del vecchio codice.

Un approccio più profondo è il refactoring del codice, ovvero migliorare la struttura del codice senza modificarne il comportamento, convertendo l’RPG in formato fisso in formato libero, suddividendo i programmi di grandi dimensioni in moduli più piccoli e sostituendo le vecchie definizioni dei database con SQL, secondo Litten. IBM Bob, l'agente di AI coding di IBM può essere esteso con conoscenze specifiche di IBM i per supportare questo compito.

Perché proprio ora: il divario di competenze

Il motivo principale per cui questo lavoro è diventato urgente è di natura umana, non tecnica. I programmatori che hanno sviluppato questi sistemi stanno andando in pensione e l’RPG viene insegnato raramente nelle università, quindi la disponibilità di nuovi programmatori in grado di sostituirli sta diminuendo. "La programmazione RPG è una competenza che scompare; entro il 2025 il programmatore medio di RPG avrà 70 anni,"secondo una fonte, ASNA. Nel 2026, nel sondaggio IBM i Marketplace Survey di Fortra, la carenza di competenze in ambito IBM i ha superato per la prima volta in nove anni la cybersecurity, diventando la principale preoccupazione del settore, indicata dalla maggior parte dei 320 intervistati.

L’IBM Institute for Business Value, in una ricerca del 2023 sulla modernizzazione delle applicazioni nei vari settori, ha rilevato che l’83% dei dirigenti considera la modernizzazione delle applicazioni e dei dati un elemento centrale della propria strategia, mentre solo il 27% ha dichiarato di aver effettivamente modernizzato molti dei sistemi necessari. Per molte aziende, garantire la compatibilità futura di queste applicazioni è diventato un elemento centrale della trasformazione digitale.

AI Academy

Mettere l'AI al servizio della modernizzazione delle applicazioni

Scopri come l'AI generativa può trasformare il tuo percorso di modernizzazione delle applicazioni migliorando la produttività, riducendo i rischi di conformità e semplificando gli aggiornamenti.

Gli strumenti di AI possono aiutare nella modernizzazione RPG?

Esiste un intero settore specializzato nella modernizzazione RPG. Ad esempio, Fresche Solutions sviluppa X-Analysis, uno strumento che mappa il modo in cui i vecchi programmi sono interconnessi ed estrae le regole aziendali incorporate al loro interno. Profound Logic si concentra sull’abilitazione delle applicazioni RPG al web e sulla trasformazione automatizzata del codice in Node.js, mentre LANSA, acquisita da Idera nel 2019 (secondo IT Jungle), offre strumenti low-code per sviluppare nuove applicazioni che convivono con RPG. IBM fornisce inoltre i propri strumenti per sviluppatori, tra cui la celebre estensione open source Code for IBM i, che trasforma il diffusissimo editor VS Code in un ambiente di sviluppo per RPG tramite un’estensione.

Come per tutto ciò che riguarda la codifica, gli strumenti basati su AI stanno svolgendo un ruolo sempre più importante. Fino all’inizio del 2024, i modelli di AI faticavano a interpretare l’RPG, perché questo linguaggio proprietario è poco presente nei loro dati di addestramento (a differenza del più diffuso COBOL, come spiega IT Jungle). Tuttavia, verso la fine del 2025 la situazione era cambiata. IBM ha risposto con Project Bob, presentato inizialmente come watsonx Code Assistant for i e successivamente trasformato in una piattaforma completa di agentic coding. Bob è in grado di spiegare, convertire e testare RPG e altri linguaggi, compresi i test automatizzati del codice convertito. Ottantamila dipendenti IBM hanno utilizzato Bob e gli utenti intervistati hanno riferito che ha aumentato la loro produttività del 45%.

Autore

David Zax

Staff Writer

IBM Think

Soluzioni correlate
Agente di AI coding

Consenti ai tuoi team di innovare più velocemente con IBM Bob, che supporta la modernizzazione delle applicazioni assistita dall'AI, lo sviluppo rapido e una distribuzione del software più efficiente.

Scopri l'agente di AI Coding
Soluzioni per la modernizzazione delle applicazioni mainframe

Utilizza l'AI generativa per semplificare la modernizzazione dell'applicazione, aiutando i team di sviluppo ad accelerare la trasformazione, migliorare la produttività e ridurre la complessità.

Scopri le soluzioni per la modernizzazione delle applicazioni mainframe
Servizi di modernizzazione delle applicazioni

Reinventa i sistemi legacy con la modernizzazione dell'AI intelligente.

Scopri i servizi di modernizzazione delle applicazioni
Fasi successive

Utilizza l'AI generativa e l'automazione avanzata per creare più velocemente codice enterprise-ready. I modelli di Bob ampliano le competenze degli sviluppatori, semplificando e automatizzando le attività di sviluppo e modernizzazione.

  1. Scopri IBM Bob
  2. Scopri le soluzioni per la modernizzazione delle applicazioni mainframe