domenica 2 novembre 2008

ILE CGI vs Java (5) Usabilità delle funzioni del sistema operativo i5/OS

Le funzioni del sistema operativo i5/OS sono ovviamente pienamente disponibili in ambiente ILE-CGI.

Viceversa JAVA “puro”, nell’ ottica della portabilità, prescinde da qualsiasi sistema operativo e di conseguenza non può far uso delle funzioni dell’ i5/OS. E’ però possibile utilizzare il Toolbox for Java che rende disponibili alcune funzioni AS/400, ma non tutte e questo soprattutto perché le funzioni richiamate vengono eseguite in un JOB separato; quindi comandi a livello di JOB come RTVJOBA, CHGJOB o che hanno validità nell’ ambito del JOB come l’ uso della libreria QTEMP, i comandi OVRXXX, ADDLIBLE ecc. non ha senso che siano utilizzati.

Lo stesso discorso vale se si utilizza il nodulo “run”

E’ da sottolineare come l’ uso del Toolbox for Java o del modulo “run” renda l’ applicazione Java non più portabile.

sabato 1 novembre 2008

ILE CGI vs Java

Su questo punto è nato un grosso equivoco.
Chi propaganda JAVA fa notare ad ogni occasione che la programmazione CGI per il WEB ha all’ interno del programma la costruzione della pagina HTML da visualizzare, con la conseguenza che ogni volta che si debba modificare l’ aspetto grafico occorra metter mano al programma. La logica di presentazione sarebbe quindi all’ interno della logica elaborativi.
Ma questo è vero solo per il generico CGI che dialoga con l’ HTTP Server senza particolari accorgimenti, un po’ come farebbe un RPG 5250 che pilotasse direttamente il video senza usare le DDS. Viceversa il caso che stiamo confrontando con JAVA è quello di CGI arricchito dall’ apposito Open Source fornito dalla stessa IBM. Con l’ utilizzo di tale Open Source la definizione della pagina HTML è esterna al programma in modo del tutto analogo a quanto avviene con l’ uso delle DDS 5250. La logica di presentazione...


è esterna a quella di elaborazione ed è pilotata da quest’ ultima in tutte le componenti HTML (variabili, effetti grafici, link).
E’ invece proprio la tecnica JAVA con le sue JSP (Java Server Pages) ad avere problemi in questo senso.
Una JSP infatti ha al suo interno sia specifiche relative alla logica di presentazione in termini di veste grafica, immagini, link, bottoni, variabili ecc …, che quelle relative a come tali entità vanno dinamicamente valorizzate. Basti pensare che all’ interno delle JSP le due coppie di caratteri “<%” e “%>” delimitano le specifiche di programmazione JAVA contenute all’ interno della pagina HTML.
Se ad esempio dobbiamo emettere una pagina html con delle variabili di output, in ILE-CGI definiremo quali siano le variabili di output, ma non la logica con cui queste devono essere valorizzate (che è demandata al programma). Nelle JSP di JAVA viceversa oltre a definire quali siano le variabili di output, inseriremo all’ interno della pagina anche la logica elaborativa che le valorizza, e questa è un’ evidente mescolanza tra logica di presentazione e logica elaborativa.