Con questo numero del blog abbiamo il piacere di ospitare una serie di articoli, tratti dal libro “RPG: Stile e produttività” di Massimo Duca, noto articolista che ha collaborato per molti anni con la famosa rivista System-i News della Duke Italia, nei quali presentiamo tecniche moderne, idee, esempi pratici per chi sviluppa su sistemiPower IBM. Informazioni e consigli utili per ottenere il meglio dalla nostra piattaforma preferita !
Nota del team: noi di Prodigyt utilizziamo da almeno 15 anni l’ Ide Eclipse, con il quale sviluppiamo Touch400. E’ stata una festa per noi ritrovare nell’ RDI per programmi Rpg, le identiche funzionalità che utilizziamo quotidianamente sviluppando Touch400. Tramite RDI i nostri sviluppatori stanno imparando molto velocemente l’Rpg.
Il team Prodigyt.
L’ambiente di sviluppo visuale distribuito da IBM per i suoi sistemi “i”, dopo innumerevoli cambi di nome e di pacchettizzazioni varie, attualmente è battezzato RDi: Rational Developer for i.
Lasciamo da parte le astruse politiche commerciali IBM e passiamo alla descrizione di questo prodotto che rappresenta uno strumento di grande potenza ed utilità per i team di sviluppo per la piattaforma “Power” (continuiamo pure a chiamarlo AS400 ! ).
RDi è un cosiddetto IDE (Integrated Development Environment), un ambiente che racchiude tutti gli strumenti necessari allo sviluppo di procedure in ambiente AS400. Di fatto, si tratta di una implementazione IBM del noto ambiente di sviluppo open source Eclipse, confezionata in modo da adattarsi alla perfezione al sistema, sostituendo del tutto le funzioni dell’ultradecennale ADTS (Application Development Toolset) che tutti abbiamo utilizzato con le vecchie sessioni 5250 (in primis il classico PDM).
In due parole, RDi è uno strumento che aumenta notevolmente la produttività degli sviluppatori RPG, CL, SQL (e anche COBOL). La curva di apprendimento non è elevata, una volta imparate alcune configurazioni di base si può già essere operativi, e man mano che lo si usa si scoprono nuove funzionalità utili e configurabili anche in modo personalizzato.
Facciamo qui un breve elenco, non certo esaustivo, dei principali vantaggi diRDi:
- Possibilità di definire filtri personalizzati per tutti gli oggetti di sistema: con un clic si ha già sott’occhio quello che serve.
- Editazione dei sorgenti con colorazione degli elementi sintattici e prompting attivo per ogni specifica (proprio come il classico F4 in modifica di un sorgente con il SEU).
- Possibilità di aprire un numero indefinito di sorgenti contemporaneamente; saltare da un source all’altro è molto più veloce e facile.
- Vista outline: in una finestra si hanno a disposizione tutti gli elementi del programma (campi, file, chiavi, routine, ecc.) visualizzati in una struttura gerarchica con cui è possibile posizionarsi con un clic nei punti del sorgente in cui compaiono. Una casella di ricerca permette di trovare subito l’elemento desiderato.
- Funzioni di debug avanzate, in grado di avviare la sessione di debug intercettando il richiamo al programma da qualsiasi tipo di job (interattivo, batch, anche da job CGI).
- Possibilità di convertire un intero sorgente RPGLE in versione free.
- Sintassi assistita: digitando i primi caratteri di un’istruzione e premendo ctrl+spazio si ottengono tutti i suggerimenti per completare la specifica. E’ inoltre possibile creare dei template di istruzioni personalizzate.
- Snippets: oltre ai template, è possibile definire dei modelli di sezioni di codice (o anche di interi programmi), comprendenti anche variabili di sostituzione, che vengono inserite nel sorgente all’atto dell’inserimento dello snippet.
Lo spazio di lavoro di RDI può sembrare a prima vista complicato, specie per chi non ha mai utilizzato altro che le schermate 5250… In ogni caso, basta imparare le funzioni fondamentali che si usano tutti i giorni, il resto lo si può scoprire un po’ alla volta e in Rete abbondano esempi di utilizzo, tips&tricks e consigli su tutto ciò che si può fare per ottenere il massimo da RDi.
Di seguito vediamo la videata principale di RDI, che mostra la “prospettiva” di lavoro per l’editazione dei sorgenti; per prospettiva si intende uno specifico gruppo di finestre che vengono mostrate insieme.
A sinistra troviamo l’elenco dei sistemi configurati; per ogni sistema è possibile navigare tra le sue risorse, non solo oggetti e source ma anche file di spool, lavori, comandi, file IFS e via dicendo. Configurando degli opportuni filtri sugli oggetti più utilizzati sarà facile raggiungere l’oggetto o il source desiderato. I sorgenti si possono aprire anche direttamente tramite una combinazione di tasti.
La finestra superiore di destra è lo spazio di editazione vero e proprio; si possono aprire tutti i source che si vuole, ogni source viene aperto in una linguetta. Sono disponibili diversi temi, per cui ognuno può scegliersi la combinazione di colori e font preferita. E se la preferita non c’è… nessun problema, basta crearsi un tema personalizzato. RDi offre miriadi di opzioni personalizzabili, per cui col tempo ognuno può confezionarsi il proprio RDi “su misura”.
Nella finestra sotto l’editor appaiono varie linguette con diverse informazioni: Dettagli sul sistema, Tasks (una sorta di segnalibri che si possono piazzare nei sorgenti a mò di promemoria), Tabella oggetti (molto utile per vedere un elenco dettagliato degli oggetti selezionati nella colonna di sinistra), Log comandi (per eseguire comandi di sistema), Elenco errori (qui vengono mostrati gli errori in compilazione), Punti di ingresso (per impostare i programmi da debuggare), Frammenti (vedi Snippets, modelli di codice personalizzati), Ricerca.
Riguardo i comandi di sistema, va detto che con RDi non si possono eseguire i comandi che hanno una propria interfaccia, per esempio EDTLIBL, WRKACTJOB, WRKSPLF ecc. Sono supportati i comandi, per così dire “diretti”, che eseguono subito l’azione (per tutti è disponibile il prompt dei parametri, l’equivalente dell’F4 in 5250).
Una volta aperto un sorgente per l’editazione, si ha a disposizione una moltitudine di opzioni, tra le più interessanti c’è la vista “Struttura” (outline), che presenta in un’unica finestra tutte le componenti del programma (file, DS, campi, routine ecc.); per ogni elemento è possibile vedere dove è utilizzato e con un clic ci si può posizionare sul sorgente direttamente in quel punto. Per ogni campo appare l’elenco delle specifiche nelle quali esso viene utilizzato o modificato, inoltre la funzione di ricerca permette di trovare velocemente gli elementi desiderati digitandone solo le iniziali.
Ecco un esempio di sorgente con la vista della sua struttura:
L’architettura di RDI, basata su Eclipse, permette inoltre di espandere le sue funzionalità grazie a plug-in aggiuntivi prodotti da terze parti. Un popolare esempio di questi plug-in è iSphere, un pratico e collaudato tool che aggiunge ad RDi delle funzioni come la gestione dei file messaggi, funzioni di ricerca veloce nei sorgenti, con esportazione dei risultati, uno strumento di comparazione e merge dei sorgenti molto più flessibile di quello standard, un emulatore 5250 incorporato, e molto altro…
Abbiamo descritto qui solo una minima parte delle funzionalità di RDI, ma comunque c’è poco da obiettare… la differenza tra il vecchio ambiente di sviluppo 5250 ed un IDE completo come RDi è abissale.
I punti deboli di RDi sono essenzialmente due: come per tutti gli ambienti di sviluppo su PC, anche RDi, per girare fluidamente, richiede una postazione abbastanza “carrozzata”. I requisiti di sistema non sono comunque eccessivi, ma almeno 4GB di RAM ed un processore di media potenza sono consigliabili.
Ma il difetto maggiore di RDi è quello che purtroppo lo rende inaccessibile a molte realtà: il prezzo. Come riportato sul sito IBM, si parte da 1012 € per una licenza di tipo “floatinguser” (installata su server). Per un team di medie dimensioni, anche intavolando estenuanti trattative con i commerciali IBM o i distributori e strappando i sacrosanti sconti, la cifra può comunque rimanere abbastanza elevata.
Certo, i vantaggi e le ricadute positive sulla produttività sono tangibili, sta ad ogni singola azienda valutare la convenienza e i tempi di ritorno dell’investimento. Nel frattempo, per aiutare la valutazione, è sempre possibile provare il prodotto: dal sito IBM è disponibile una versione di prova di RDi con validità di 60 giorni, completa e con tutte le funzionalità attivate.
Il libro “RPG: Stile e produttività” di Massimo Duca è reperibile ai seguenti indirizzi:
Ebook https://www.amazon.it/dp/B01N316MML
Cartaceo https://www.amazon.it/dp/1520293380