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.
           
         |