Programmazione RPG CGI

Cosa cambia nella programmazione se si vuole andare in WEB con il linguaggio RPG?
Concettualmente un programma RPG per il WEB deve solo sostituire l’ I/O per il device WORKSTN con l’ I/O verso il browser.
Quindi invece di emettere e ricevere in input formati di un display file deve emettere e ricevere pagine HTML.
Tutto il resto, accesso al data base, logica di calcolo, utilizzo delle funzioni di sistema operativo (autorizzazioni, comit, lock di record, override, lista di librerie, spool ecc.) rimane invariato, a differenza di quanto avviene con altre tecniche

C’ è una discreta analogia tra la gestione dell’ I/O di pagine HTML e quella di un display file gestito internamente. Infatti:

DSPF

  • Lettura record READ + Specif. di input
  • Scrittura record EXCEPT + Specif. di output

HTML

  • Lettura record campo = zhbgetvar(‘campo’)
  • Scrittura callp updhtmlvar(‘campo’:campo) + callp wrtsection(‘formato ‘)

 

Anche la gestione delle varie pagine HTML è del tutto analoga a quella dei DSPF.
Infatti:

  • Anche le pagine HTML sono definite esternamente ai programmi
  • Sono organizzate in “sezioni” del tutto analoghe ai formati dei display file

Ci sono però alcune differenze nella realizzazione di alcune funzioni o effetti come:

  • Subfile – non tanto nella visualizzazione quanto per le tecniche legate ai codici operativi READC, CHAIN e UPDATE
  • Sovrapposizione di formati e finestre
  • Attributi condizionati da indicatori

Un’ altra differenza importante sta nel flusso elaborativo del programma
Infatti per poter emettere una pagina il programma deve andare a fine lavoro (RETURN con LR spento) e successivamente per leggerla riparte dalla prima istruzione di calcolo.
Occorre quindi “veicolare” opportunamente la sequenza elaborativa del programma, per esempio con un tipo record che individui il formato appena letto ed instradi opportunamente la sequenza elaborativa del programma.

Rispetto ad un DSPF la pagina HTML ha funzionalità e gradi di libertà molto maggiori
Un tradizionale campo (di input, output o input-output) ha anche attributi relativi al font, allo stile, alla dimensione del carattere, al colore, alla dimensione e colore del bordo, al colore dello sfondo.
Oltre ai campi nella pagina possono essere presenti altri elementi del tutto nuovi rispetto ai DSPF come link, immagini, filmati, suoni, menu a tendina, check box, effetti grafici ecc..

 Quello che è importante è il fatto che il programma RPG ha il pieno controllo di tutte queste nuove funzionalità, nel senso che può attivarle o no od impostarne l’ opportuna modalità di rappresentazione al verificarsi o meno di certe condizioni applicative.
Questo è di fondamentale importanza. Questo vuol dire avere un programma WEB.
Sul mercato ci sono dei software che intercettano le stringhe 5250 emesse dal programma e le trasformano in html, dando l’ impressione di avere un programma WEB. In realtà non è così perché il programma continua a vedere i formati 5250 e non può pilotare funzionalità che il 5250 non ha. E’ come vedere un film in bianco e nero e, mettendosi lenti colorate, illudersi che il film sia a colori.

Annunci

Conversione di programmi RPG 5250 in programmi RPG CGI

Patrimonio software delle aziende
Ogni azienda ha un patrimonio software frutto di anni di esperienza e di continui adeguamenti alle proprie necessità applicative ed organizzative.
E’ vero che in tale patrimonio sono a volte presenti anche programmi o soluzioni tecnico-applicative ormai obsolete.
Ma è anche vero che la parte più significativa di tale patrimonio è costituita da programmi e soluzioni che sono andate sempre più affinandosi per rispondere sempre meglio alle necessità dell’ azienda, a volte addirittura dettando la giusta struttura organizzativa.

Valorizzare il patrimonio aziendale
Se il software di un’ azienda è largamente insoddisfacente è chiaro che va rifondato, con le tecniche che si riterranno più adeguate a seconda del caso in questione.
Ma se non è così (e dovrebbe essere il caso più frequente) non ci si può permettere di gettare alle ortiche il patrimonio accumulato nel corso degli anni.
Tale patrimonio va salvaguardato innestando su di esso le innovazioni introdotte dalle nuove tecnologie.
Solo in tal modo le nuove tecnologie aiutano a crescere, diversamente sono solo delle mode sul cui altare si corre il rischio di sacrificare anni di proficuo lavoro.

Le nuove tecnologie – il web
Andare in WEB non è sicuramente una moda, ma un’ ottima opportunità per accelerare e snellire tutta una serie di operazioni con clienti, fornitori, agenti ecc. Per non parlare del commercio elettronico.
Andare in WEB in maniera intelligente è un valore aggiunto necessario ormai per tutte le aziende.
Andare in WEB “costi quel che costi” è un grave errore.

Le nuove tecnologie – interfaccia utente
Le nuove tecnologie hanno portato nuove vesti grafiche e funzioni di ipertestualità e multimedialità di sicuro interesse e grande funzionalità.
Inserire tali nuove interfacce utente è sicuramente un arricchimento importante del software applicativo
Questo però va fatto senza perdere nulla della funzionalità attualmente esistente.

La problematica
Come entrare nel WEB con le proprie applicazioni RPG 5250 ed introdurre in esse le nuove interfacce utente, magari anche gradualmente, senza perdere nulla della attuali funzionalità e soprattutto senza dover necessariamente riscrivere il software ?

La modifica delle applicazioni 5250
Abbiamo visto che, tutto sommato, non è affatto difficile scrivere programmi RPG CGI che, essendo richiamabili da browser, siano accessibili da WEB ed utilizzino le nuove interfacce tipiche di Windows.
Se invece si vogliono modificare i programmi 5250 già esistenti in modo che l’ I/O con il device WORKSTN sia sostituito da quello con il browser, questo ha qualche complessità in più, ma ha il vantaggio di mantere inalterate logica applicativa e funzionalità dei programmi.

soluzione
grazie al software di conversione denominato appunto “Conversion 5” si è in grado di effettuare automaticamente gran parte del lavoro di conversione. L’ intervento manuale si riduce a casi particolari o dove occorra un minimo di interpretazione della logica elaborativa.

ILE CGI vs Java (3), Personalizzazione post-conversione delle pagine WEB

 Aggiunte funzionali post-conversione (possibilità di crescita tecnico-applicativa dei  programmi convertiti)

 

I programmi RPG 5250 una volta convertiti in ILE CGI sono pienamenti modificabili e arricchibili di nuove funzioni (che ovviamente la versione 5250 non poteva prevedere). Questo perchè si tratta di sorgenti RPG e sorgenti di pagine HTML ben definiti, individuabili  e quindi modificabili, o direttamente aggiungendo sul sorgente gli effetti grafico-funzionali desiderati, o anche utilizzando programmi di editing come “FRONT PAGE”. Per modificare la pagina HTML occorre solo avere conoscenze di HTML. Inoltre il programma RPG ha il pieno controllo di tutti gli elementi della pagina HTML, potendo pilotare e condizionare perfettamente tutti gli effetti grafico-funzionali desiderati.

Molto diverso il discorso nel caso delle conversioni effettuate con il convertitore Java (ed utilizzo del modulo “RUN”).

 

Leggi il seguito di questo post »