Il service program di Mel è uno strumento
straordinario per scrivere con l'RPG programmi
per il Web secondo lo standard CGI.
L'estrema facilità dello sviluppo si coniuga
con la massima flessibilità della manutenzione.
Ciò deriva da due importanti fattori:
- I programmi CGI devono lavorare con alcune API
dell'HTTP per poter svolgere alcune funzioni
elementari, quali -ad esempio-
- la ricezione dell'input dal browser remoto
- la spedizione della risposta
oppure altre funzioni facoltative,
come
- il reperimento delle variabili di ambiente
Lavorare direttamente con le API non è facile,
almeno inizialmente.
Ma con il service program di Mel
non ce n'è bisogno, in quanto
esso stesso provvede ad interfacciare tutte le API
dell'HTTP tramite opportune chiamate a procedure
di servizio estremamente facili da codificare.
- Nella programmazione CGI manca il supporto
di un device file "remote browser".
Pertanto è responsabilità
del programma di generare direttamente nel buffer
di output la risposta al browser remoto,
mescolando opportunamente testi e variabili.
Sarebbe come se nel mondo 5250
mancasse il display file e fosse compito del programma
caricare pezzo per pezzo il buffer di output prima
di spedirlo.
Il risultato, a parte la difficoltà,
sarebbe tale da rendere il programma sensibile
ad ogni piccola necessità di modifica
della presentazione, con costi enormi di manutenzione.
Questo è il vero motivo per cui i CGI
su AS/400 non sono mai decollati
prima che intervenisse Rothman.
Il service program di Rothman fornisce
infatti quello che in una programmazione tradizionale
è un device file definito
esternamente.
Si tratta semplicemente di un file sorgente multimembro.
Ogni membro contiene uno script html suddiviso
in tracciati record (sezioni) contenenti sia testo
che variabili.
Anzichè un file sorgente,
si possono utilizzare stream file (file PC)
memorizzati in directory IFS (Integrated File System).
Questo consente di utilizzare "scrittori" di HTML
come Front Page o Websphere Studio.
Il service program consente di assegnare valori alle
variabili e di emettere tracciati record nella sequenza
voluta. Il testo del membro origine in causa
può essere variato a piacere senza
dover intervenire sul programma.
Si realizza così anche per il CGI
quella separazione tra logica e presentazione
che è da sempre il presupposto
di una programmazione a basso costo
di manutenzione.
|