Il leggendario CGIDEV2 di Giovanni Battista Perotti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il leggendario CGIDEV2 di Giovanni Battista Perotti"

Transcript

1 Il leggendario CGIDEV2 di Giovanni Battista Perotti Per oltre un decennio CGIDEV2 ha insegnato a migliaia di programmatori RPG come fare del buon WEB a bassissimo costo riutilizzando l esperienza esistente. Inoltre, tramite i suoi sorgenti RPG-ILE, CGIDEV2 è diventato per tutti una scuola di programmazione ILE, insegnando come si realizzano prototipi, procedure e programmi di servizio. Questo è il primo di una serie di articoli con i quali mi rivolgo ad una tuttora vasta area di programmatori RPG che non hanno ancora sperimentato l ebbrezza di mandare in onda su Internet un loro programma. CGIDEV2 sarà per loro una esperienza entusiasmante, consentirà l ingresso in un mondo dove ogni giorno si fa una nuova scoperta. Scrivere un programma per il WEB richiede non solo l utilizzo di qualche istruzione nuova, ma richiede un piccolo aggiornamento culturale, in quanto qui valgono leggi e regolamenti con le quali un programmatore tradizionale AS/400 (iseries, System i, chiamatelo come volete) non ha familiarità. In questo primo articolo illustrerò alcuni elementi della panoramica WEB, che vanno al di là di CGIDEV2, ma la cui conoscenza è indispensabile per poter capire poi come CGIDEV2 ad essi si appoggi. Questo può risultare inizialmente tedioso, ma è indispensabile premettere alcune nozioni cui in seguito si dovrà necessariamente fare riferimento. 1- Il servente HTTP ed APACHE Il TCP/IP (Transmission Control Protocol / Internet Protocol), è un insieme di protocolli di comunicazione utilizzati nella rete Internet ed in altre reti (p.es. LAN). I protocolli più noti a livello applicativo sono il TELNET (Terminal NETwork, che consente una comunicazione bidirezionale di testi), l FTP (File Trasfer Protocol, utilizzato per trasferire file), l SMTP (Simple Mail Transfer Protocol, che si occupa della trasmissione della posta elettronica), il POP (Post Office Protocol, che consente di ricevere posta elettronica), l HTTP (HyperText Transfer Protocol). L HTTP serve per comunicare tra WEB browser (web-client) e siti WEB (web-server) attraverso meccanismi standard di domanda-risposta tipici dell ambiente client-server. La risorsa da accedere presso il web-server è generalmente una pagina statica, una pagina dinamica (cioè creata sul momento da un programma), oppure una immagine, un PDF, ecc.. La risorsa viene richiesta dal client per il tramite di una cosiddetta URL (Uniform Resource Locator), che specifica dove la risorsa è localizzata. La sintassi dell URL http è: dove: l indirizzo_servente è l indirizzo IP del sistema web-server che ospita la risorsa (es ) oppure il nome del dominio con cui il webserver è registrato (es. il numero_porta (facoltativo) è il numero dell interfaccia utilizzata sul web-server per colloquiare con uno specifico servente (istanza) http. Se il numero_porta non è specificato, si intende la porta numero 80. il path viene utilizzato per raggiungere una specifica risorsa (es. mmailp/xsearch.pgm ) la query_string contiene dati da passare alla applicazione web, per esempio un programma CGI (es: search=download ) l àncora (facoltativa) viene utilizzata per specificare una località all interno della pagina trasmessa. esempio: Il software utilizzato dal web-server per rispondere alle richieste http dei client, dipende dalla piattaforma. Sull AS/400 è stato inizialmente utilizzato, con il rilascio V4R2, un software proprietario IBM. Quando, con il rilascio V5R1, fu deciso di adottare come web-server il software Apache, il precedente software proprietario fu denominato Original per distinguerlo da Apache. Apache è diventato poi, con il rilascio V5R3, l unico web-server per l AS/400. Solo in tempi relativamente recenti è stato affiancato dal PHP. Per utilizzare CGIDEV2, oggi ci si serve del software web-server di Apache. Apache è, dal 2009, il software web-server più diffuso (oltre 100 milioni di siti). Si tratta di un software open-source gestito dalla Apache Software Foundation. L HTTP consente di avere, per così dire, più fronti di servizio, chiamati istanze. Ciascuna istanza occupa una porta diversa e viene definita tramite apposite istruzioni denominate direttive. Le direttive di una istanza sono generalmente raccolte in un file di flusso IFS. Le istanze http sono documentate nel file QUSRSYS/QATMHINSTC. Si tratta di un file multimembro, un membro per ciascuna istanza http. Ciascun membro contiene un record, nel quale sta scritto quale sia il software web-server, quale sia il file di flusso contenente le direttive dell istanza e se la istanza debba partire automaticamente quando viene eseguito il comando STRTCPSVR SERVER(*HTTP). Per esempio, il membro APACHEDFT del file QUSRSYS/QATMHINSTC contiene questo record: -apache -d /www/apachedft -f conf/httpd.conf AutoStartY dal quale si desume che il software web-server da utilizzare è Apache il file di flusso contenente le direttive è /www/apachedft/conf/httpd.conf

2 la istanza viene avviata automaticamente all avvio dell http. Per avviare manualmente una istanza http, si utilizza il comando STRTCPSVR SERVER(*HTTP) HTTPSVR(nome_della_istanza) Scrivere direttive http Apache non è un compito semplice, anche perché una direttiva sbagliata comporta o il fallimento dell avvio di una istanza o il suo mancato funzionamento per alcune pagine che si intendeva servire. Per questo motivo sull AS/400 esiste una istanza particolare denominata *ADMIN, la quale serve per amministrare il WEB ed in particolare per definire le direttive di una istanza http. Questa istanza si avvia con il comando STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN) e la si utilizza dal PC con un browser WEB tramite la URL All avvio viene richiesto di specificare il nome e la password di un profilo utente con autorità speciale *SECADM. Purtroppo questo strumento è molto complesso e generalmente si commettono con esso molti più errori di quanto non avvenga possedendo un esempio di direttive e provando a modificarlo opportunamente. Per questo motivo, in CGIDEV2 le direttive Apache sono già preparate nel file di flusso /cgidev/conf/httpd.conf. La istanza http che consente l utilizzo di CGIDEV2 si chiama CGIDEV2APA ed ha un suo membro di controllo che va copiato nel file QUSRSYS/QATMHINSTC. A ciò si perviene con il comando CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC) FROMMBR(CGIDEV2APA) TOMBR(CGIDEV2APA) MBROPT(*REPLACE) CRTFILE(*YES). La istanza CGIDEV2APA lavora sulla porta 8014 e si avvia con il comando STRTCPSVR SERVER(*http) HTTPSVR(CGIDEV2APA). Alle pagine WEB di documentazione di CGIDEV2 si può quindi accedere localmente con l URL Commenti a spiegazione delle direttive Apache utilizzate per CGIDEV2 si possono reperire alla pagina Le direttive Apache sono documentate nell IBM i and System i Information Center dove occorre fare una ricerca per "Directives for HTTP server". La documentazione dell Apache http server è alla pagina Ritorneremo comunque più tardi sull argomento, quando si tratterà di sviluppare un primo programma WEB con CGIDEV2. 2- Il protocollo CGI CGIDEV2 utilizza il protocollo CGI. Ma che cosa è il CGI? Il Common Gateway Interface (CGI) è uno standard (RFC3875, 1983) per i serventi HTTP. Esso stabilisce il modo in cui una richiesta deve essere trasmessa dal client (Standard Input) ed il modo in cui la risposta deve essere trasmessa al client (Standard Output). Il CGI è uno dei primi protocolli utilizzati nel World Wide Web (WWW) per creare pagine web dinamiche ed è stato la base per la sua crescita esplosiva dal 1995 al 2000 (si pensi per esempio ai siti Amazon ed ebay). Il grande vantaggio del CGI è la sua semplicità: non richiede sovrastrutture software ed è quindi uno dei metodi più agili e con le prestazioni migliori. Il CGI non è un linguaggio di programmazione. Il CGI definisce unicamente il modo in cui la richiesta deve essere trasferita al web-server per essere passata ad un programma ed il modo in cui la risposta del programma (praticamente un buffer) deve essere restituita al web-client. Su AS/400 il programma CGI può essere scritto in REXX, C++, C-ILE, RPG-ILE, o COBOL-ILE. Il programma riceve dal browser del client, tramite una URL, una richiesta specificata dal valore di opportuni parametri e quindi prepara una pagina di risposta in funzione della richiesta fatta (pagina dinamica) che viene rispedita al browser del client. Il browser, tramite opportune testate inserite all inizio della pagina, capisce come deve interpretare la presentazione della stessa. In genere la pagina di risposta è una pagina scritta in HTML (HyperText Markup Language), ma potrebbe anche essere in XML o essere addirittura un file, per esempio un PDF. Come fa un programma CGI a ricevere l input dal web-client? Esistono due modi in cui il client può trasmettere una richiesta CGI al web-server: il metodo GET ed il metodo POST. Quando viene usato il metodo GET, la stringa di input deve essere reperita con l API QtmhGetEnv (Get Environment Variable) specificando la variabile d ambiente QUERY_STRING. Quando viene usato il metodo POST la stringa di input deve essere reperita con l API QtmhRdStIn (Read Standard Input). Successivamente, il programma deve recuperare dalla stringa di input i valori delle singole variabili di input. Questa operazione si chiama parsing e può essere fatta utilizzando l API QzhbCGIParse. Già da qui si capisce che leggere l input dal browser non è una operazione semplice per un programma CGI. Questo non è nulla rispetto alla creazione della risposta (in genere una pagina HTML, ma potrebbe essere anche qualcosa di diverso). La risposta non è altro che un buffer (una stringa) che va inviata al browser tramite l API QtmhWrStOut (write to Stdout). Il fatto è che, per esempio nel caso di una pagina HTML, il programma CGI dovrebbe scrivere nel buffer via via l HTML necessario, intercalandolo con i valori delle variabili di output. In altre parole sarebbe come se un programma interattivo, anziché utilizzare le DDS, scrivesse direttamente i dati (testate e valori dei campi) nel buffer da inviare al terminale 5250.

3 Completamente impensabile. Ed è questo il motivo per cui ben pochi sono riusciti, e con gran fatica, a scrivere programmi CGI sull AS/400 prima della comparsa sulle scene di CGIDEV2. 3- Il paradigma CGI Il programma CGI non ha memoria (ambiente stateless ) - I serventi World-Wide-Web trattano ogni richiesta come una transazione indipendente da ogni precedente richiesta. Questo semplifica la struttura del servente, in quanto non deve allocare memoria per tener conto delle conversazioni in corso, né deve impegnarsi a liberarla se un client a metà conversazione decide di desistere. In altre parole, non esiste la EXFMT (invia ed attendi la risposta). Nel mondo CGI il programma risponde ad una singola richiesta, dopo di che il programma non ricorda più nulla né della richiesta né della risposta data. Questo comporta che, per mantenere il dialogo, una successiva richiesta può dover inviare al programma, non solo i dati della nuova richiesta, ma anche alcuni dati relativi alla richiesta precedente. Questo problema viene comunemente risolto spedendo, nella risposta al browser, delle variabili di input nascoste (hidden) contenenti i valori di cui il programma CGI necessita per riprendere la elaborazione di una successiva richiesta. A dire il vero, il supporto CGI su AS/400 consente di realizzare anche programmi CGI persistenti. Un programma CGI persistente viene mantenuto attivo (con tutte le sue variabili impostate ed il posizionamento sui file intatto) in attesa di una successiva richiesta da parte dello stesso client che lo aveva chiamato. In pratica il job della istanza http resta fermo in attesa di una successiva chiamata. Ma ci sarà una successiva chiamata, e se sì, dopo quanto tempo? Dato che ciò non è prevedibile, va posto un ragionevole limite al numero di job in attesa e va inoltre specificato un tempo di timeout, superato il quale il job deve chiudere. Tali limiti, unitamente alla complicazione della sovrastruttura necessaria per realizzare lo stato di persistenza, rendono poco attraente questo metodo, del quale un programmatore CGI, abituato a gestire la non-persistenza, non sente affatto bisogno. 4- Che cosa è CGIDEV2 CGIDEV2 è una raccolta di procedure ILE che semplificano all estremo la scrittura di programmi CGI in COBOL-ILE o in RPG-ILE. Una prima stesura, denominata CGIDEV, venne creata da Mel Rothman, dell IBM di Rochester (MN), nel Nel 1999 Rothman rilasciò una nuova versione denominata CGIDEV2, potenziata in termini di semplicità e potenza di prestazioni. Rothman continuò ad aggiungere nuove funzioni a CGIDEV2, sino al 2004, quando lasciò IBM. CGIDEV2 si presenta come uno strumentario completo per il programmatore RPG che voglia fare del WEB. CGIDEV2 è compatibile con qualunque nuovo rilascio di OS/400. L unico requisito è almeno una modesta conoscenza dell RPG ILE da parte dello sviluppatore. Si impara in fretta, due/tre giorni di applicazione sono sufficienti per realizzare i primi programmi e la velocità di sviluppo cresce molto velocemente. Ovviamente, per poter presentare delle pagine WEB occorre conoscere l HTML, ma questa non è una impresa, l HTML è immensamente più semplice delle DDS. Nella evoluzione delle conoscenze verranno poi il Cascading Style Sheet (CSS), il Javascript, l HTML DOM ed AJAX. Tutto questo si impara facilmente dai tutorial I programmi CGI scritti in RPG_ILE non sono più difficili dei normali programmi 5250, hanno prestazioni eccellenti e si manutenzionano con la stessa facilità dei programmi tradizionali. La diffusione di CGIDEV2 su scala mondiale è dovuta all opera di Giovanni Battista Perotti. Perotti scoprì CGIDEV nel 1997, quando era in IBM Italia. Il suo primo sito internazionale inteso a diffondere CGIDEV fu messo in onda nel Luglio del Nel Novembre del 1999 AS/400 News U.S. diffuse per via elettronica un articolo dove si annunciava che tramite CGIDEV si potevano creare in RPG splendidi siti WEB. In un sol giorno CGIDEV fu installato da oltre 300 sviluppatori di AS/400. Nel Marzo del 2000 Perotti ottenne il consenso dall IBM di Rochester di poter distribuire CGIDEV2 gratuitamente e completo di sorgenti. Quando, nel Giugno del 2005, Perotti uscì, per anzianità, da IBM chiese ad IBM di ereditare la proprietà di CGIDEV2 per poterne curare la ulteriore crescita e diffusione. Quando IBM rifiutò, Perotti fece pervenire ai responsabili IBM di Rochester centinaia di lettere di protesta da clienti ed IBM fu costretta a dichiarare che avrebbe preso in carico ufficialmente il prodotto, per curarne la manutenzione, la evoluzione ed un eventuale annuncio open-source. In realtà IBM ha fatto ben poco o nulla di quanto promesso. Ad oggi le installazioni di CGIDEV2 sono oltre 4700 e continuano a crescere unicamente grazie all opera di Perotti, che ne diffonde la conoscenza tramite il suo sito il suo forum internazionale ed il suo forum italiano di nuovo conio 5- I paradigmi CGIDEV2 In particolare CGIDEV2, mentre non risolve il problema (stateless) della perdita di memoria del programma CGI, peraltro facilmente superabile, risolve invece brillantemente i problemi della lettura dell input e della scrittura dell output. Mentre la lettura dell input avviene tramite alcune semplici procedure ILE che saranno illustrate più avanti, la creazione dell output merita qualche spiegazione introduttiva. Come si sa, la separazione tra presentazione dei dati e valori dei dati è fondamentale per la produttività di un programma. In un programma interattivo o batch, ciò avviene tramite un file unità esterno (file display o file di stampa) il quale definisce come i dati debbano essere presentati per il tramite di costanti (titoli, testate, messaggi) e di variabili di input o di output. Il tutto organizzato in uno o più tracciati record.

4 Le DDS servono a questo scopo. Il programma si occupa unicamente del processo logico dei dati, di assegnare valori alle variabili di input o di output e di emettere nell ordine opportuno i tracciati record del file display o stampa, in modo da produrre la risposta appropriata per il caso in esecuzione. Con CGIDEV2, per emettere una pagina HTML si fa esattamente la stessa cosa. Si produce un file HTML costituito da tracciati record che qui si chiamano sezioni (section). Una sezione può contenere testo HTML e variabili di input o di output da valorizzare. Il programma CGI in partenza carica in memoria, tramite procedure di CGIDEV2, il file HTML esterno. Via via che l elaborazione procede, il programma CGI assegna valori alle variabili di input e di output ed emette ordinatamente le sezioni necessarie per comporre la risposta. Alla fine comanda la spedizione del buffer di output e va a fine programma. Il grande vantaggio delle applicazioni WEB, rispetto alle applicazioni tradizionali 5250, sta nella estrema flessibilità dell HTML rispetto alle DDS. In termini di presentazione, efficacia, completezza, eleganza, dotazione di accessori, non esiste ovviamente confronto. Si pensi unicamente ai cambiamenti che si possono produrre con semplici variazioni del CSS. Non va poi tralasciato il fatto che non esiste controllo di livello tra programma e file HTML esterno. L unico controllo di livello lo fa CGIDEV2 che, quando il CGI gli chiede di caricare in memoria un file HTML esterno, evita di farlo se il file è già in memoria e non è stato variato. 6- Installare CGIDEV2 Dopo aver compreso un poco che cosa sia CGIDEV2 e come si collochi nel protocollo CGI dell HTTP, veniamo alla sua installazione. CGIDEV2 si scarica dal sito La pagina presenta una colonna di navigazione sul lato sinistro. Si tratta di premere il link denominato Download. La prima volta che lo si preme viene richiesto di registrarsi. Una volta effettuata la registrazione si accede alla pagina di scarico. Nella tabella dei software, si prema CGIDEV2 per raggiungere le istruzioni relative. Si scelga una delle tre versioni disponibili (V5R2, V5R1, V4R5) per far comparire la finestrella di download, quindi si prema il bottone Submit. Si riceva il file cgidev2.zip in una cartella del PC, quindi lo si espanda ad ottenere due file : un readme.txt ed un cgidev2.sav. Quest ultimo è un file di salvataggio che contiene la libreria CGIDEV2. Occorre ora trasportare il file di salvataggio sul System i. Si proceda così: a. Sul System i si esegua il comando CRTSAVF SAVF(QGPL/CGIDEV2) b. Sul PC si apra una finestra DOS per trasferire il file di salvataggio sul System i. Ci si posizioni sulla cartella contenente il file di salvataggio cgidev2.sav, quindi si immettano i comandi seguenti: ftp indirizzo_ip_del_system_i utente password binary quote site namefmt 1 cd /qsys.lib/qgpl.lib put cgidev2.sav cgidev2.savf quit c. Sul System i si immetta il comando RSTLIB SAVLIB(CGIDEV2) DEV(*SAVF) SAVF(QGPL/CGIDEV2) per ripristinare la libreria CGIDEV2. d. CGIDEV2 viene consegnato con i soli sorgenti dei programmi. Per completare la installazione è necessario eseguire una procedura REXX che ricrea i programmi. Si immetta il comando SBMJOB JOB(CGIDEV2) CMD(STRREXPRC SRCMBR(INSTALL1) SRCFILE(CGIDEV2/QREXSRC)) e. Una volta completato questo lavoro, per ripristinare le cartelle IFS /cgidev e /cgidevexthtml, si immetta il comando STRREXPRC SRCMBR(INSTALL2) SRCFILE(CGIDEV2/QREXSRC) f. Alla fine, per creare la istanza HTTP CGIDEV2APA che consente di leggere localmente la documentazione di CGIDEV2 e di eseguirne alcune dimostrazioni, si esegua il comando CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC) FROMMBR(CGIDEV2APA) TOMBR(CGIDEV2APA) MBROPT(*REPLACE) CRTFILE(*YES). g. La istanza HTTP CGIDEV2APA si avvia con il comando STRTCPSVR SERVER(*http) HTTPSVR(CGIDEV2APA) Successivamente si immetta il comando WRKACTJOB SBS(QHTTPSVR) JOB(CGIDEV2APA) per constatare che la istanza sia effettivamente partita. Se la partenza ha avuto successo, si vedranno attivi vari job di nome CGIDEV2APA. La istanza lavora sulla porta 8014, quindi per accedere alla prima pagina di CGIDEV2 si utilizzi la URL

5 7- La documentazione dettagliata di CGIDEV2 La documentazione dettagliata di CGIDEV2 è disponibile sul sito Easy400 a partire dalla pagina La lingua ufficiale l inglese, ma la maggior parte delle pagine ha anche una versione in italiano (premere sulla bandierina). Lo stesso materiale è disponibile localmente attraverso la istanza http CGIDEV2APA. Main functions Read input from client browser Map input string into program variables Multiple occurrencies of an input variable Use an externally defined HTML script to write HTML output Other functions Handling cookies Message handling Maintain and retrieve page counts Retrieve environment variables Other environment variables functions Timing functions Check IFS object Uploading PC files CGI DEBUG file Debugging functions o In alto, nella prima pagina, basta premere il bottone cgi tutorial per arrivare alla pagina A circa metà di questa pagina compare un riquadro contenente l indice del tutorial (vedi la figura a lato). o Esiste anche un indice analitico. Premendo il bottone index si arriva alla pagina dell indice analitico Sono inoltre disponibili delle dimostrazioni, con evidenziazione del codice HTML ed RPG, dalle quali è facile imparare alcune delle tecniche basilari. Si prema il bottone basic demos per giungere alla pagina Coding facilities Data conversion functions Execute a command Override a database file Dynastatic pages Write HTML to a stream file Program state support Using user spaces Create a random string Persistent CGI support Get a random integer Assign a Session ID ( handle ) 8- Come si fa il debugging dei programmi CGI Tutti i lavori nel sottositema QHTTPSVR sono lavori batch. Come tutti i lavori batch, se incontrano un errore si fermano e mandano un messaggio alla coda messaggi dell operatore. Questo per una lavoro WEB non va bene. E inutile far aspettare l utente finale per ore o giorni. Occorre che gli arrivi un messaggio di errore, che l errore venga registrato nel log del lavoro e che il lavoro termini (il sistema ne avvierà subito un altro). Per ottenere questo bisogna immettere il comando chgjobd qhttpsvr/qzhbhttp log(4 00 *seclvl) inqmsgrpy(*dft). Per visualizzare i lavori di una istanza http (per esempio quelli della istanza CGIDEV2APA) si utilizza il comando WRKACTJOB SBS(QHTTPSVR) JOB(cgidev2apa) Gestione lavori attivi 30/04/10 16:07:54 CPU %: 11.9 Tempo trascorso: 00:00:23 Lavori attivi: 401 Utente Opz Sottosis/Lav corrente Tipo CPU % Funzione Stato CGIDEV2APA QTMHHTTP BCH.0 PGM-QZHBMAIN SIGW CGIDEV2APA QTMHHTTP BCI.0 PGM-QZSRLOG SIGW CGIDEV2APA QTMHHTTP BCI.0 PGM-QZSRHTTP SIGW CGIDEV2APA QTMHHTP1 BCI.3 PGM-QZSRCGI TIMW CGIDEV2APA QTMHHTP1 BCI.0 PGM-QZSRCGI TIMW CGIDEV2APA QTMHHTTP BCI.0 PGM-QZSRHTTP DEQW CGIDEV2APA QTMHHTP1 BCI.0 PGM-QZSRCGI TIMW CGIDEV2APA QTMHHTP1 BCI.0 PGM-QZSRCGI TIMW I lavori dell istanza che eseguono I programmi CGI sono quelli contrasegnati dal PGM-QZSRCGI. Dato che ne esiste più di uno, non è dato sapere a priori quale di essi eseguirà la prossima richiesta da un web-client. In genere la richiesta in arrivo viene sempre assegnata allo stesso lavoro. Solo se quel lavoro è impegnato la richiesta viene passata ad un altro lavoro.

6 Per sapere quale lavoro prenderà controllo, è sufficiente riazzerare il conteggio CPU% (F10), far immettere una richiesta dal web-client, tornare alla schermata wrkactjob e fare F5. Il lavoro PGM-QZSRCGI che ha preso controllo avrà speso del tempo di CPU. Se il sistema è molto veloce, non sempre è possibile rilevare quale lavoro abbia speso tempo CPU; in questo caso occorre congelare i lavori PGM-QZSRCGI, immettere la richiesta dal web-client, quindi scongelare i lavori uno alla volta, controllando ogni volta se il browser ha ricevuto la risposta. Una volta che si è individuato il lavoro PGM-QZSRCGI addetto a rispondere per primo, se ne visualizzano i dati con la opzione 5: Gestione lavoro Sistema: xxxxxxxx Lavoro: CGIDEV2APA Utente: QTMHHTP1 Numero: Selezionare una delle seguenti: 1. Visualizzazione attributi di stato del lavoro 2. Visualizzazione attributi di definizione del lavoro 3. Visualizzazione attributi di esecuzione del lavoro, se attivo 4. Gestione dei file di spool 10. Visualizz. registrazione lavoro, se attivo, in coda lavori o sospeso 11. Visualizzazione dell'elenco richiami, se attivo 12. Gestione dei vincoli, se attivi 13. Visualizzazione della lista delle librerie, se attivo 14. Visualizzazione file aperti, se attivi 15. Visualizzazione sostituzioni di file, se attive 16. Visualizzazione stato controllo convalida, se attivo Segue... Scelta o comando ===> F3=Fine F4=Richiesta F9=Duplicaz. F12=Ann. Supponiamo che il programma CGI da sottoporre a debug sia il programma PGM1 nella libreria CGI1. Ovviamente bisognerà che i moduli di tale programma siano stati creati con il parametro DBGVIEW(*SRC) o DBGVIEW(*LIST). Per mettere in debug il programma bisognerà immettere i comandi seguenti: STRSRVJOB /QTMHHTP1/CGIDEV2APA STRDBG CGI1/PGM1 UPDPROD(*YES) Dopo di che si provvederà ad assegnare almeno un breakpoint e si farà partire la richiesta dal web-browser per il programma CGI1. Una volta trovato l errore, si tratterà di correggere e ricreare il programma, quindi eventualmente eseguire un nuovo debug, immettendo i comandi ENDDBG STRDBG CGI1/PGM1 UPDPROD(*YES) Se il problema da correggere non è semplice, si reitera in continuazione tra comandi enddbg e strdbg e, se necessario, endsrvjob e strsrvjob. Questa iterazione comporta tempo ed attenzione ed è alquanto defatigante. Per questo motivo in CGIDEV2 è stato creato un comando (che alla installazione viene duplicato nella libreria QGPL), EDBG (Enhanced DEBUG) il quale provvede da solo a lanciare i comandi di end/strsrvjob e di end/strdbg. Il comando richiede che siano specificati solo due parametri: il nome (qualificato) del programma ed il numero del lavoro batch da servire. Nel caso illustrato basterà quindi ripetere ogni volta il comando EDBG CGI1/PGM Creare una prima libreria per i programmi CGI Non ostante che ciò possa apparir comodo, non è conveniente creare propri programmi nella libreria CGIDEV2. E meglio abituarsi ad utilizzare proprie librerie. In questo esempio vogliamo creare la libreria CGI1 e fare in modo da averla pronta per i nostri prossimi programmi CGI. a. Creiamo la libreria: CRTLIB LIB(CGI1) TEXT('Miei primi programmi CGI') AUT(*USE) b. Ora popoliamo la libreria CGI1 con alcuni strumenti di CGIDEV2 che ci serviranno: CGIDEV2/SETCGILIB SRCLIB(CGI1) Questo comando (vedi ) Duplica nella libreria il service program CGISRVPGM2 di CGIDEV2 Crea nella libreria la *BNDDIR TEMPLATE2, che serve per risolvere le chiamate delle procedure CGIDEV2 verso il service program CGISRVPGM2 nella stessa libreria Crea nella libreria i file origine QRPGLESRC, QCLSRC, QDDSSRC, QCMDSRC, QPNLSRC, HTMLSRC (quest ultimo file origine può essere utilizzato per membri contenenti HTML, anche se è largamente preferibile utilizzare per questo scopo file di flusso nella cartella /cgi1/html ) Nel file QRPGLESRC aggiunge i membri HSPECS, HSPECSBND, PROTOTYPEB, VARIABLES3, PROLOG3 che saranno utilizzati via /COPY nei programmi CGI

7 Crea una cartella IFS con lo stesso nome della libreria e vi aggiunge tre sottocartelle: o Una sottocartella /nome_libreria/css dove si possono mettere i file.css che saranno utilizzati dalla applicazione o Una sottocartella /nome_libreria/html dove si possono mettere i file.html (pagine statiche o html esterni per i CGI) che saranno utilizzati dalla applicazione o Una sottocartella /nome_libreria/graphics dove si possono mettere gli oggetti grafici (icone, immagini, ecc.) utilizzati dalla applicazione. Alla fine invia questa schermata Add HTTP Directives for CGI object library CGI1 Type of directives.... _ 1=Original, 2=Apache F3=End Si immetta 2 e si prema Invio per avere un elenco delle istanze HTTP disponibili: Add HTTP Directives for CGI object library CGI1 Type option, press Enter 1=HTTP instance to be updated instance configuration file _ APACHEDFT /www/apachedft/conf/httpd. _ CGIDEV2APA /cgidev/conf/httpd.conf Si immetta 1 per CGIDEV2APA e si dia Invio. In questo modo alle direttive di CGIDEV2APA vengono aggiunte alcune direttive che consentono la esecuzione di programmi CGI nella libreria CGI1. Le nuove direttive vengono automaticamente visualizzate da un comando dspf /cgidev/conf/httpd.conf. Andando alla fine del file di direttive, si vede che le direttive aggiunte sono: #---- CGI1 directives AliasMatch /cgi1h/(.*)\.htm /QSYS.LIB/CGI1.LIB/HTMLSRC.FILE/$1.mbr Alias /cgi1h/ /QSYS.LIB/CGI1.LIB/HTMLSRC.FILE/ Alias /cgi1/ /cgi1/ ScriptAliasMatch /cgi1p/(.*).pgm /qsys.lib/cgi1.lib/$1.pgm <Directory /QSYS.LIB/CGI1.LIB> AllowOverride None Options None order allow,deny allow from all </Directory> <Directory /cgi1> AllowOverride None Options None order allow,deny allow from all </Directory> La prima di queste righe è un commento La seconda riga (AliasMatch /cgi1h/(.*)\.htm ) intende significare che quando in una URL si incontra la dizione /cgi1h/ seguita da qualcosa e poi da.htm, si intende che quel qualcosa sia un membro del file CGI1/HTMLSRC La terza riga (Alias /cgi1h/ ) intende significare che quando in una URL si incontra la dizione /cgi1h/ ci si intende riferire al file /CGI1/HTMLSRC La quarta riga (Alias /cgi1/ ) intende significare che quando in una URL si incontra la dizione /cgi1/ si intende riferirsi proprio alla cartella IFS /cgi1/ La quinta riga (ScriptAliasMatch /cgi1p/(.*).pgm ) intende significare che quando in una URL si incontra la dizione /cgi1p seguita da qualcosa e quindi dalla dizione.pgm, si tratta di un programma CGI nella libreria CGI1. Pertanto, per eseguire il programma PGM1 nella libreria CGI1 basterà utilizzare la URL Il gruppo di direttive che va da <Directory /QSYS.LIB/CGI1.LIB> a </Directory> significa che la libreria CGI1 è accessibile a qualunque richiesta http Il gruppo di direttive che va da <Directory /cgi1> a </Directory> significa che la cartella CGI1 è accessibile a qualunque richiesta http c. Per far ripartire la istanza http CGIDEV2APA in modo tale che tenga conto delle nuove direttive, occorre immettere il comando STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(CGIDEV2APA) Nei prossimi articoli incominceremo a scrivere con CGIDEV2 alcuni programmi CGI. Se sei interessato, devi però prepararti, imparando un poco di HTML e di CSS. Su questi argomenti esistono fior di siti. Io raccomando (ma sono in lingua inglese) quelli di W3Sschools

8 per l elenco dei corsi per il corso di HTML per il corso di CSS Si tratta di corsi molto semplici ed anche divertenti, ti fanno respirare ed aprire gli occhi su un altro mondo. Non perdere l occasione di imparare! Se hai domande, puoi contattarmi liberamente, scrivendo al mio indirizzo esposto nella prima pagina del sito

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer Servizi DNS - SMTP FTP - TELNET Programmi Outlook Express Internet Explorer 72 DNS Poiché riferirsi a una risorsa (sia essa un host oppure l'indirizzo di posta elettronica di un utente) utilizzando un

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

CONFIGURAZIONE DEI SERVIZI (seconda parte)

CONFIGURAZIONE DEI SERVIZI (seconda parte) Corso ForTIC C2 LEZIONE n. 10 CONFIGURAZIONE DEI SERVIZI (seconda parte) WEB SERVER PROXY FIREWALL Strumenti di controllo della rete I contenuti di questo documento, salvo diversa indicazione, sono rilasciati

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

Outlook Express 6 Microsoft Internet Explorer, Avvio del programma Creare un nuovo account

Outlook Express 6 Microsoft Internet Explorer, Avvio del programma Creare un nuovo account Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito, semplice da utilizzare e fornisce

Dettagli

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ A cura del dott. Marco Cesati 1 Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/devcpp.html Installazione Configurazione Utilizzazione 2 1 Requisiti di sistema

Dettagli

Istruzioni per l uso Guida software

Istruzioni per l uso Guida software Istruzioni per l uso Guida software Leggere subito Manuali per questa stampante...8 Preparazione per la stampa Installazione rapida...9 Conferma del metodo di connessione...11 Connessione di rete...11

Dettagli

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1 Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

2 Requisiti di sistema 4 2.1 Requisiti software 4 2.2 Requisiti hardware 5 2.3 Software antivirus e di backup 5 2.4 Impostazioni del firewall 5

2 Requisiti di sistema 4 2.1 Requisiti software 4 2.2 Requisiti hardware 5 2.3 Software antivirus e di backup 5 2.4 Impostazioni del firewall 5 Guida introduttiva Rivedere i requisiti di sistema e seguire i facili passaggi della presente guida per distribuire e provare con successo GFI FaxMaker. Le informazioni e il contenuto del presente documento

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Appunti di Antonio Bernardo

Appunti di Antonio Bernardo Internet Appunti di Antonio Bernardo Cos è Internet Internet può essere vista come una rete logica di enorme complessità, appoggiata a strutture fisiche e collegamenti di vario tipo (fibre ottiche, cavi

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

Altre opzioni Optralmage

Altre opzioni Optralmage di Personalizzazione delle impostazioni............ 2 Impostazione manuale delle informazioni sul fax......... 5 Creazione di destinazioni fax permanenti................ 7 Modifica delle impostazioni di

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

Gestione posta elettronica (versione 1.1)

Gestione posta elettronica (versione 1.1) Gestione posta elettronica (versione 1.1) Premessa La presente guida illustra le fasi da seguire per una corretta gestione della posta elettronica ai fini della protocollazione in entrata delle mail (o

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

FileMaker Server 13. Pubblicazione Web personalizzata con PHP

FileMaker Server 13. Pubblicazione Web personalizzata con PHP FileMaker Server 13 Pubblicazione Web personalizzata con PHP 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker

Dettagli

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi.

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi. I server di stampa vengono utilizzati per collegare le stampanti alle reti. In tal modo, più utenti possono accedere alle stampanti dalle proprie workstation, condividendo sofisticate e costose risorse.

Dettagli

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci Manuale di Remote Desktop Connection Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Remote Desktop

Dettagli

Procedura per il ripristino dei certificati del dispositivo USB

Procedura per il ripristino dei certificati del dispositivo USB Procedura per il ripristino dei certificati del dispositivo USB 30/04/2013 Sommario - Limitazioni di responsabilità e uso del manuale... 3 1 Glossario... 3 2 Presentazione... 4 3 Quando procedere al ripristino

Dettagli

Guida agli strumenti etwinning

Guida agli strumenti etwinning Guida agli strumenti etwinning Registrarsi in etwinning Prima tappa: Dati di chi effettua la registrazione Seconda tappa: Preferenze di gemellaggio Terza tappa: Dati della scuola Quarta tappa: Profilo

Dettagli

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1 UBUNTU SERVER Installazione e configurazione di Ubuntu Server M. Cesa 1 Ubuntu Server Scaricare la versione deisiderata dalla pagina ufficiale http://www.ubuntu.com/getubuntu/download-server Selezioniare

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Funzioni nuove e modificate

Funzioni nuove e modificate Gigaset S675 IP, S685 IP, C470 IP, C475 IP: Funzioni nuove e modificate Questo documento integra il manuale di istruzioni dei telefoni VoIP Gigaset: Gigaset C470 IP, Gigaset C475 IP, Gigaset S675 IP e

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

GUIDA DELL UTENTE IN RETE

GUIDA DELL UTENTE IN RETE GUIDA DELL UTENTE IN RETE Memorizza registro di stampa in rete Versione 0 ITA Definizione delle note Nella presente Guida dell'utente viene utilizzata la seguente icona: Le note spiegano come intervenire

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

AMBIENTE DEV PASCAL. Dev-Pascal 1.9.2. Finestra di apertura

AMBIENTE DEV PASCAL. Dev-Pascal 1.9.2. Finestra di apertura Dev-Pascal 1.9.2 1 Dev-Pascal è un ambiente di sviluppo integrato per la programmazione in linguaggio Pascal sotto Windows prodotto dalla Bloodshed con licenza GNU e liberamente scaricabile al link http://www.bloodshed.net/dev/devpas192.exe

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

Dettagli

Documentazione tecnica

Documentazione tecnica Documentazione tecnica Come spedire via Post 1.1) Invio di Loghi operatore 1.2) Invio delle Suonerie (ringtone) 1.3) Invio di SMS con testo in formato UNICODE UCS-2 1.4) Invio di SMS multipli 1.5) Simulazione

Dettagli

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa di Ilaria Lorenzo e Alessandra Palma Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa Code::Blocks

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A Leggere attentamente questo manuale prima dell utilizzo e conservarlo per consultazioni future Via Don Arrigoni, 5 24020 Rovetta

Dettagli

CMN4i (Vers. 1.1.0 del 27/02/2014)

CMN4i (Vers. 1.1.0 del 27/02/2014) CMN4i (Vers. 1.1.0 del 27/02/2014) Il monitoring che permette di avere la segnalazione in tempo reale dei problemi sul vostro sistema IBM System i Sommario Caratterisitche... Errore. Il segnalibro non

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

ACCREDITAMENTO EVENTI

ACCREDITAMENTO EVENTI E.C.M. Educazione Continua in Medicina ACCREDITAMENTO EVENTI Manuale utente Versione 1.5 Maggio 2015 E.C.M. Manuale utente per Indice 2 Indice Revisioni 4 1. Introduzione 5 2. Accesso al sistema 6 2.1

Dettagli

explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012

explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012 explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012 1 Indice 1. Descrizione del sistema e Requisiti hardware e software per l installazione... 4 1.1 Descrizione del

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor NetMonitor Micro guida all uso per la versione 1.2.0 di NetMonitor Cos è NetMonitor? NetMonitor è un piccolo software per il monitoraggio dei dispositivi in rete. Permette di avere una panoramica sui dispositivi

Dettagli

CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB...

CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB... 1. CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB... 5 1.3.1 CREAZIONE GUIDATA DELLA FATTURA IN FORMATO XML

Dettagli

MANUALE D USO RTSDOREMIPOS

MANUALE D USO RTSDOREMIPOS MANUALE D USO RTSDOREMIPOS PROGRAMMA DI GESTIONE SCAMBIO IMPORTO E ALTRE FUNZIONI TRA APPLICATIVO GESTIONALE E POS INGENICO PER PAGAMENTO ELETTRONICO (prot. 17) Versione 1.0.0.0 INDICE INDICE... 2 LEGENDA...

Dettagli

Test di comunicazione tra due LOGO! 0BA7: Master - Master

Test di comunicazione tra due LOGO! 0BA7: Master - Master Industry Test di comunicazione tra due LOGO! 0BA7: Master - Master Dispositivi utilizzati: - 2 LOGO! 0BA7 (6ED1 052-1MD00-0AB7) - Scalance X-208 LOGO! 0BA7 Client IP: 192.168.0.1 LOGO! 0BA7 Server IP:

Dettagli

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP Reti di Calcolatori IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP D. Talia RETI DI CALCOLATORI - UNICAL 6-1 Applicazioni di Rete Domain Name System (DNS) Simple Network Manag. Protocol (SNMP) Posta elettronica

Dettagli

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it Zabbix 4 Dummies Dimitri Bellini, Zabbix Trainer Quadrata.it Relatore Nome: Biografia: Dimitri Bellini Decennale esperienza su sistemi operativi UX based, Storage Area Network, Array Management e tutto

Dettagli

ASTA IN GRIGLIA PRO. COSA PERMETTE DI FARE (per ora) Asta In Griglia PRO:

ASTA IN GRIGLIA PRO. COSA PERMETTE DI FARE (per ora) Asta In Griglia PRO: ASTA IN GRIGLIA PRO Asta in Griglia PRO è un software creato per aiutare il venditore Ebay nella fase di post-vendita, da quando l inserzione finisce con una vendita fino alla spedizione. Il programma

Dettagli

La Valutazione Euristica

La Valutazione Euristica 1/38 E un metodo ispettivo di tipo discount effettuato da esperti di usabilità. Consiste nel valutare se una serie di principi di buona progettazione sono stati applicati correttamente. Si basa sull uso

Dettagli

MANUALE DOS INTRODUZIONE

MANUALE DOS INTRODUZIONE MANUALE DOS INTRODUZIONE Il DOS è il vecchio sistema operativo, che fino a qualche anno fa era il più diffuso sui PC, prima dell avvento di Windows 95 e successori. Le caratteristiche principali di questo

Dettagli

Mail da Web. Caratteristiche generali di Virgilio Mail. Funzionalità di Virgilio Mail. Leggere la posta. Come scrivere un email.

Mail da Web. Caratteristiche generali di Virgilio Mail. Funzionalità di Virgilio Mail. Leggere la posta. Come scrivere un email. Mail da Web Caratteristiche generali di Virgilio Mail Funzionalità di Virgilio Mail Leggere la posta Come scrivere un email Giga Allegati Contatti Opzioni Caratteristiche generali di Virgilio Mail Virgilio

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

Windows Mail Outlook Express 6 Microsoft Outlook 2003 Microsoft Outlook 2007 Thunderbird Opera Mail Mac Mail

Windows Mail Outlook Express 6 Microsoft Outlook 2003 Microsoft Outlook 2007 Thunderbird Opera Mail Mac Mail Configurare un programma di posta con l account PEC di Il Titolare di una nuova casella PEC può accedere al sistema sia tramite Web (Webmail i ), sia configurando il proprio account ii nel programma di

Dettagli

Come installare e configurare il software FileZilla

Come installare e configurare il software FileZilla Come utilizzare FileZilla per accedere ad un server FTP Con questo tutorial verrà mostrato come installare, configurare il software e accedere ad un server FTP, come ad esempio quello dedicato ai siti

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

Dettagli

PRESENTAZIONE DI UN SMS AL GATEWAY

PRESENTAZIONE DI UN SMS AL GATEWAY Interfaccia Full Ascii Con questa interfaccia è possibile inviare i dati al Server utilizzando solo caratteri Ascii rappresentabili e solo i valori che cambiano tra un sms e l altro, mantenendo la connessione

Dettagli

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti 1 Web conferencing software Massimiliano Greco - Ivan Cerato - Mario Salvetti Arpa Piemonte 2 Che cosa è Big Blue Button? Free, open source, web conferencing software Semplice ed immediato ( Just push

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

MailStore Proxy è disponibile gratuitamente per tutti i clienti di MailStore Server all indirizzo http://www.mailstore.com/en/downloads.

MailStore Proxy è disponibile gratuitamente per tutti i clienti di MailStore Server all indirizzo http://www.mailstore.com/en/downloads. MailStore Proxy Con MailStore Proxy, il server proxy di MailStore, è possibile archiviare i messaggi in modo automatico al momento dell invio/ricezione. I pro e i contro di questa procedura vengono esaminati

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Guida all utilizzo del dispositivo USB

Guida all utilizzo del dispositivo USB Guida all utilizzo del dispositivo USB 30/04/2013 Sommario - Limitazioni di responsabilità e uso del manuale... 3 1. Glossario... 3 2. Guida all utilizzo del dispositivo USB... 4 2.1 Funzionamento del

Dettagli

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers La procedura di installazione è divisa in tre parti : Installazione dell archivio MySql, sul quale vengono salvati

Dettagli

MEGA Process. Manuale introduttivo

MEGA Process. Manuale introduttivo MEGA Process Manuale introduttivo MEGA 2009 SP4 1ª edizione (giugno 2010) Le informazioni contenute nel presente documento possono essere modificate senza preavviso e non costituiscono in alcun modo un

Dettagli

Elaidon Web Solutions

Elaidon Web Solutions Elaidon Web Solutions Realizzazione siti web e pubblicità sui motori di ricerca Consulente Lorenzo Stefano Piscioli Via Siena, 6 21040 Gerenzano (VA) Telefono +39 02 96 48 10 35 elaidonwebsolutions@gmail.com

Dettagli

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser.

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser. Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser. Se vogliamo accedere alla nostra casella di posta elettronica unipg.it senza usare un client di posta (eudora,

Dettagli

Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11

Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11 Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11 Museo & Web CMS v1.5.0 beta (build 260) Sommario Museo&Web CMS... 1 SOMMARIO... 2 PREMESSE... 3 I PASSI PER INSTALLARE MUSEO&WEB

Dettagli

Utilizzo del server SMTP in modalità sicura

Utilizzo del server SMTP in modalità sicura Utilizzo del server SMTP in modalità sicura In questa guida forniremo alcune indicazioni sull'ottimizzazione del server SMTP di IceWarp e sul suo impiego in modalità sicura, in modo da ridurre al minimo

Dettagli

GLI ERRORI DI OUTLOOK EXPRESS

GLI ERRORI DI OUTLOOK EXPRESS Page 1 of 6 GLI ERRORI DI OUTLOOK EXPRESS 1) Impossibile inviare il messaggio. Uno dei destinatari non è stato accettato dal server. L'indirizzo di posta elettronica non accettato è "user@dominio altro

Dettagli

MANUALE D USO LEXUN ver. 5.0. proprietà logos engineering - Sistema Qualità certificato ISO 9001 DNV Italia INDICE. 6. Flash top 6 C.

MANUALE D USO LEXUN ver. 5.0. proprietà logos engineering - Sistema Qualità certificato ISO 9001 DNV Italia INDICE. 6. Flash top 6 C. Pag. 1/24 INDICE A. AMMINISTRAZIONE pagina ADMIN Pannello di controllo 2 1. Password 2 2. Cambio lingua 2 3. Menù principale 3 4. Creazione sottomenù 3 5. Impostazione template 4 15. Pagina creata con

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli