Perl e il modulo Perl

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Perl e il modulo Perl"

Transcript

1 Perl e il modulo Perl Apprendimento di Perl Scaricamento della versione più recente di Perl e di mod_perl Novità e risorse per mod_perl Esecuzione degli script Perl da una directory specifica Attivazione dell estensione.pl Attivazione dello stato Perl Esecuzione di OWA da Perl Accesso a Oracle da Perl Interfacce DBD disponibili Verifica e debug di Perl Uso di una libreria CGI standard Visualizzazione di un elenco di file Stabilire se un file esiste Creazione o aggiunta di un file Attivazione di una procedura PL/SQL da Perl Emulazione di un browser dalla linea di comando Emulazione di una richiesta POST dalla linea di comando Pulitura del codice HTML Accesso alla documentazione di Perl Analisi dei parametri ambientali Invio di posta da Perl Determinare il browser del client e agire di conseguenza Inclusione dei componenti del sito Codice di esempio con accesso a Oracle File di avvio di Perl Connessioni al database persistenti Analisi del codice OraPerl di produzione Riepilogo Siti che offrono informazioni su Perl

2 2 ORACLE 9i SVILUPPO WEB Se state cercando un linguaggio di programmazione interpretato che ottimizzi la scansione di file di testo arbitrari per estrarre le informazioni necessarie a stampare report, oppure se state cercando un linguaggio valido per gestire le operazioni del file o quelle di gestione del sistema, Perl potrebbe essere lo strumento che fa al caso vostro. Se Java è il vostro strumento di sviluppo principale, ma avete bisogno di accedere a database che non sono supportati da JDBC, Perl potrebbe essere la soluzione che cercate. Perl è un linguaggio di scripting interpretato e portabile. Anche se un linguaggio interpretato è più lento rispetto a uno compilato (come il C), i linguaggi interpretati, come Perl, Java, C#, JavaScript e così via, sono facilmente portabili da una piattaforma all altra. Dato che Perl è un linguaggio interpretato, per lo sviluppo del codice potete utilizzare un semplice editor di testo (per esempio, Blocco note, vi, Write o Word), mentre per eseguire gli script Perl avrete bisogno di un interprete Perl. La sintassi di Perl è simile a quella del C, anche se Perl ha specifiche meno restrittive. Per esempio, in Perl non viene richiesto di dichiarare o inizializzare le variabili. Se conoscete già il C, non sarà un problema riconoscere i concetti e le difficoltà di Perl. Se non conoscete il C, vi farà sicuramente piacere sapere che imparare a usare Perl è più facile. Per esempio, in Perl la manipolazione delle stringhe e gli array richiedono pochissimi sforzi. Se siete programmatori Java, scoprirete che Perl ha delle analogie con questo linguaggio; anche Java, infatti, si basa sulla sintassi del C. Perl riunisce in sé le migliori caratteristiche degli script di shell UNIX, della programmazione C e delle utility UNIX (sed, awk e grep) per creare un linguaggio di programmazione potente. Spesso Perl è stato indicato come un interfaccia CGI (Common Gateway Interface) per lo sviluppo Web. Perl è stato sviluppato molto prima che il Web diventasse così noto. Anche se tendenzialmente Perl viene menzionato in associazione con lo sviluppo Web, non dobbiamo dimenticare che Perl è anche uno strumento estremamente efficace sul lato server. Perl è un linguaggio veramente portabile eseguito su moltissime piattaforme, che supporta inoltre l accesso diretto a molti database, tra cui il database Oracle. L interfaccia di database per Perl, chiamata Database Interface Module di Perl o DBI, è stata scritta da Tim Bunce. Perl è disponibile per ambienti UNIX e Win32, e soprattutto è gratuito. Larry Wall, l autore di Perl, ne detiene ancora il copyright. Apprendimento di Perl Magari vi starete chiedendo perché dovreste perdere tempo per imparare a usare Perl. Se sviluppate applicazioni con ias, PL/SQL può offrire tutta la flessibilità necessaria a sviluppare applicazioni Web dinamiche, solide e potenti. Anche se questo vale probabilmente per il 95% dei casi, dovete considerare anche l altro

3 PERL E IL MODULO PERL 3 5%. Potete scegliere Java per il 99% dello sviluppo oppure potete scegliere di usare PL/SQL per il 95% del codice e Perl per il restante 5%. A prescindere dal linguaggio scelto, probabilmente questo non soddisferà il 100% delle esigenze di programmazione. Per esempio, l interfaccia di database per Perl (DBI) supporta alcuni database che non sono supportati dall interfaccia di database per Java (JDBC). Perl è gratuito. Se non utilizzate ias, Perl è adatto allo sviluppo Web ed è in grado di accedere al database Oracle (e altri), quindi potrebbe diventare il vostro strumento di programmazione principale. Se usate il modulo PL/SQL di ias, la situazione seguente può rientrare in quel 5% di cui abbiamo parlato prima. In una tipica configurazione di produzione, il Web server risiede all esterno del firewall mentre il database è all interno. Se il database e il Web server si trovano su server diversi, il motore di database Oracle potrà accedere ai file sul database server con PL/SQL, ma non a quelli del Web server. Nella stessa situazione, Perl permetterebbe di accedere al file system del Web server ma non a quello del database server. La possibilità di interagire con un file system per leggere i file di password o per confrontare le strutture della directory può essere utile quando si sviluppano applicazioni sicure. Il server dal quale dovete accedere ai file piatti determina lo strumento in grado di rispondere alle vostre esigenze. Perl inoltre può colmare le lacune di PL/SQL quando eseguite un programma del sistema operativo (per esempio, Sendmail) dall applicazione. Perl è in grado di chiamare i comandi e i programmi del sistema operativo, mentre PL/SQL no. Java e Perl possono chiamare i comandi del sistema operativo. Scaricamento della versione più recente di Perl e di mod_perl L attuale release di Perl in produzione è 5.6.1, mentre la attualmente è in fase di sperimentazione. Potete scaricare entrambe le versioni dal sito perl.com, Al sito troverete invece l ultima versione del modulo mod_perl. ias è realizzato con la versione 1.22 di mod_perl. Novità e risorse per mod_perl Al sito troverete un ottima newsletter per tenervi aggiornati su mod_perl. Questo sito include anche della interessante documentazione, articoli e novità relative a mod_perl.

4 4 ORACLE 9i SVILUPPO WEB Esecuzione degli script Perl da una directory specifica Per eseguire Perl da una directory specifica, per prima cosa dovete stabilire il percorso virtuale per la directory che contiene i programmi Perl. Come descritto nel Capitolo 3, i percorsi virtuali vengono definiti con il comando Alias nel file httpd.conf. Potete specificare un percorso virtuale che si riferisce direttamente alla directory Perl, oppure potete inserire i file Perl nella sottodirectory di una directory virtuale. Per esempio, se il percorso virtuale per la directory viene stabilito come Alias /websites/ c:\websites/ nella directory Websites, e se una directory dal nome perl contiene i programmi di Perl, la seguente direttiva Location comunicherà a ias di eseguire gli script Perl in questa directory: <Location /websites/perl> SetHandler perl-script PerlHandler Apache::Registry AddHandler perl-script.pl Options +ExecCGI PerlSendHeader On </Location> Dopo aver aggiunto queste voci al file di configurazione (httpd.conf), per far sì che queste direttive abbiano effetto dovrete riavviare ias. Se definite la directory esatta che ospita gli script Perl con una direttiva Alias, come la seguente, Alias /perl/ c:\websites/perl/ la direttiva Location cambierà solo la prima linea, come mostrato di seguito: <Location /perl> Attivazione dell estensione.pl La tecnica precedente specifica una directory precisa per gli script Perl. Se desiderate che i file con estensione pl (indipendentemente dalla directory) vengano considerati come uno script Perl, la seguente direttiva Files può aiutarvi a eseguire questa operazione:

5 PERL E IL MODULO PERL 5 <Files *.pl> SetHandler perl-script PerlHandler Apache::Registry PerlSendHeader On Options +ExecCGI </Files> Attivazione dello stato Perl Se desiderate ricevere informazioni relative allo stato dal modulo Perl, potete rimuovere i commenti dalle linee seguenti del file di configurazione di ias: <Location /perl-status> SetHandler perl-script PerlHandler Apache::Status order deny,allow deny from all allow from localhost </Location> SUGGERIMENTO Il percorso virtuale perl-status, mostrato in precedenza, è abilitato solo partendo da localhost. Se desiderate accedervi da altri computer, dovete aggiungerli all elenco delle macchine ammesse. Per esempio, potete abilitare localhost, tuscbdb e Esecuzione di OWA da Perl Con Apache::OWA potrete eseguire gli script realizzati con il PL/SQL Web Toolkit (htp, htf, owa_util e così via) in Apache. Potete scaricare il modulo Apache OWA per PL/SQL dal sito seguente: In alternativa potete cercarlo con un motore di ricerca come Google. Questo modulo utilizza Perl per accedere al database Oracle. La seguente direttiva Location definisce un percorso virtuale /scott che utilizza il modulo Apache OWA per collegarsi all ID (SID) del sistema ORCL con nome utente scott e password tiger: <Location /scott/> SetHandler perl-script PerlHandler Apache::OWA; PerlSetVar DAD ORCL:scott:tiger </Location>

6 6 ORACLE 9i SVILUPPO WEB Accesso a Oracle da Perl OAS include i moduli DBI e DBD per Oracle. Per svariati motivi, Oracle non ha incorporato questi moduli (Apache::DBI, Perl DBI e Perl DBD-Oracle) nella creazione di ias. Quindi, se desiderate accedere a Oracle (o ad altri database) da Perl, dovrete creare, installare e verificare mod_perl DBI/DBD-Oracle e Apache::DBI nel vostro sistema operativo. Per Windows NT o Windows 2000, seguite questi passaggi. Dovete eseguire Windows 2000 o Windows NT 4.0 con il Service Pack 3. Avrete anche bisogno di un compilatore C, come Visual Studio versione Verificate che Perl sia presente nel percorso di sistema e sia impostato correttamente, facendo clic su Start Settings Control Panel. In Control Panel, fate doppio clic su System. Nella finestra di dialogo System, fate clic sulla scheda Environment e in essa fate scorrere l elenco System Variables e selezionate Path. Nel campo Value, in fondo alla pagina, aggiungete il percorso di Apache Perl al percorso di sistema. Per esempio, aggiungete quanto segue all inizio del percorso di sistema: %ORACLE_HOME%\Apache\Perl\ \bin\MSWin32-x86. Fate clic su Set e su OK per chiudere la finestra di dialogo System. 2. Modificate config.pm nella directory %ORACLE_HOME%\Apache\ Perl\ \lib\MSWin32-x86 per selezionare la versione corretta di Perl. Per prima cosa, sostitute c:\perl\ con %ORACLE_HOME%\Apache\Perl\, dove possibile. Questo riguarda anche voci come prefix, prefixexp e così via. Successivamente, sostituite libpth= \lib con libpth= %ORACLE_HOME%\Apache\Perl\ \lib %ORACLE_HOME%\Apache\Perl\site\ \lib Realizzate il build, verificate e installate la versione 1.13 di DBI. Innanzi tutto, scaricate DBI-1_13_tar.gz in %ORACLE_HOME%\Apache (per esempio, in una directory di nome DBI-1.13), quindi decomprimetelo. Successivamente, spostatevi nella directory DBI-1.13 ed eseguite perl Makefile.PL. Seguite attentamente le istruzioni README. Ora, eseguite nmake. Quindi, eseguite nmake test e verificate i risultati del test. Infine, eseguite nmake install e assicuratevi che DBI sia stata installata nella directory %ORACLE_HOME%\Apache\Perl\. 4. Create, verificate e installate la versione 1.03 di DBD-Oracle. Il modulo DBD- Oracle si aspetta che ci sia software Oracle sufficiente per creare correttamente il driver. Innanzi tutto, scaricate DBD-Oracle-1_03_tar.gz in %ORACLE_HOME%\ Apache (per esempio, in una directory dal nome DBD-Oracle1.03) e decomprimetelo. Successivamente, spostatevi nella directory DBD-Oracle1.03 e modificate Makefile.PL in modo da riflettere correttamente OCIDIR. In particolare, impostate $OCIDIR = oci ; se non era già stato impostato. Successivamente, impostate la variabile ambientale ORACLE_HOME in modo che punti a un installazione di ias valida o ad un installazione valida del database Oracle Ora, impostate la variabile ambientale ORACLE_SID in modo che punti a un SID Oracle valido. Quindi, seguite attentamente le istruzioni README. Successivamente, eseguite perl Makefile.PL. Infine, eseguite nmake, nmake test e nmake install.

7 PERL E IL MODULO PERL 7 5. Create, verificate e installate la versione 0.87 di Apache::DBI. Innanzi tutto, scaricate ApacheDBI-0_87_tar.tar in %ORACLE_HOME%\Apache (per esempio, in una directory di nome ApacheDBI-0.87) e decomprimetelo. Seguite attentamente le istruzioni README. Successivamente, eseguite perl Makefile.PL. Infine eseguite nmake, nmake test e nmake install. 6. Aggiungete la linea seguente al file httpd.conf: PerlRequire <absolute path of Apache::DBI s startup.pl script> 7. Modificate la chiamata di connessione startup.pl in: Apache::DBI->connect_on_init( dbi:oracle:tnsconnect, username, password ); 8. Riavviate ias. Accesso a Oracle dopo aver installato DBI e DBD per Oracle Verificate l installazione precedente con lo script Perl seguente: use DBI; print Content-type: text/plain\n\n ; $dbh = DBI->connect( dbi:oracle:sales, scott, tiger ) die $DBI::errstr; $stmt = $dbh->prepare( select * from emp order by empno ) die $DBI::errstr; $rc = $stmt->execute() or die $DBI::errstr; while (($empno, $name) = $stmt->fetchrow()) { print $empno $name\n ; } warn $DBI::errstr if $DBI::err; die fetch error:. $DBI::errstr if $DBI::err; $stmt->finish() or die can t close cursor ; $dbh->disconnect() or die can t log off Oracle Se lo script precedente viene collocato nella directory /perl (come stabilito prima) e in un file chiamato emp.pl, lo eseguirete dal browser nel modo seguente:

8 8 ORACLE 9i SVILUPPO WEB Ulteriori informazioni sul modulo di interfaccia di database per Perl DBI equivale effettivamente a quello che JDBC rappresenta per Java e ODBC per Microsoft. Al sito troverete molte informazioni relative a DBI. Questa pagina offre una breve guida a DBI e include anche degli esempi del codice DBI usato per accedere a un database Oracle. Interfacce DBD disponibili Oltre a Oracle, potreste domandarvi a quali altri database ha accesso Perl. La tabella seguente contiene un elenco dei database supportati dalle interfacce DBD di Perl (fate attenzione, perché questo elenco cambia in continuazione). MODULO DBD DATABASE SUPPORTATO DA JDBC? ASAny Database Adaptive Server Anywhere No Adabas Database D Adabas Sì CSV File CSV Sì Chart Astrazione di DBD::Chart::Plot e GD::Graph No (per la visualizzazione di grafici a torta, a barre e grafici a linee e punti) DB2 Database DB2 di IBM Sì DBMaker Database DBMAKER Sì DtfSQLmac Database dtf/sql 2.01 (per Macintosh) No Empress Database Empress Sì Excel File Excel 95, 97 e 2000 No FreeTDS Microsoft SQLServer e Sybase tramite Sì il protocollo TDS raw Fullcrum Fulcrum SearchServer No Illustra Database Illustra No Informix Database Informix Sì Ingres Database Ingres Sì InterBase Server RDBMS InterBase Sì JDBC Driver proxy JDBC Sì (segue)

9 PERL E IL MODULO PERL 9 (continua) MODULO DBD DATABASE SUPPORTATO DA JDBC? mysql Database mysql Sì ODBC Database ODBC Sì Oracle Database Oracle Sì Ovrimos Database Ovrimos No Pg Database PostgreSQL Sì Qbase Database QuickBase No RAM Database RAM No Solid Database SOLID Sì Sprite File di testo piatti Sì SqlFlex Database SqlFlex No Sybase Database Sybase Sì Teradata Database Teradata Sì Unify Famiglia Unify di prodotti di database No XBase File di database XBase (dbase, Foxbase), Sì ovvero dbf, dbt, fpt, ndx, ntx Verifica e debug di Perl ias non mette a disposizione un modo semplice per eseguire il debug degli script Perl, quindi dovreste prendere in considerazione la possibilità di installare una versione di Perl indipendente per verificare il codice al di fuori di ias. Potete scaricare la distribuzione standard di Perl per NT (Win32) dal sito ufficiale di Perl, e la distribuzione di ActivePerl dal sito di ActiveState, Se sviluppate una grande quantità di codice Perl, considerate l eventualità di uno strumento di debug (per Perl standard è disponibile un debugger piuttosto complesso). Potreste anche considerare l acquisto di un debugger Perl. ActiveState ha sviluppato un debugger Perl per l ambiente NT, insieme a diversi programmi che migliorano le prestazioni di Perl. Il debugger Perl di ActiveState permette di eseguire il debug del codice Perl in modo visivo mostrando controlli, variabili e registri. Lo strumento semplifica il passaggio alle istruzioni, la modifica del sorgente, il passaggio tra le diverse porzioni di codice, l inserimento di breakpoint e

10 10 ORACLE 9i SVILUPPO WEB così via. Per eseguire il debug degli script Perl dalla linea di comando, aggiungete il parametro della modalità di debug (-d). Uso di una libreria CGI standard Suggerisco di utilizzare una libreria CGI Perl standard invece di scrivere le routine per ottenere informazioni dall input standard (STDIN), e di scrivere intestazioni standard e altri output HTML. Molte di queste librerie sono disponibili sul Web. Anche se la questione potrebbe essere discutibile, di fatto esistono due librerie CGI standard, che forniscono una libreria CGI standard per le operazioni GET/ POST, la scrittura di intestazioni CGI, la stampa delle tag HTML e molte altre. Una libreria autoproclamatasi standard di fatto è cgi-lib.pl, che potete trovare al sito Steven Brenner, l autore di cgi-lib.pl, ha collaborato alla stesura di un libro che si occupa dello scripting CGI e di cgi-lib.pl. In precedenza, OAS veniva distribuito con una versione ridotta dal nome mycgilib.pl, quindi se avete questa versione potete utilizzare ancora questa libreria. Potete scaricare (o meglio, tagliare e incollare) la versione attuale di cgi-lib dal sito indicato sopra. Includete questa libreria negli script Perl nel modo seguente: require c:\websites\perl\cgi-lib.pl ; La vera libreria CGI standard, compresa nella creazione ufficiale di Perl a partire da Perl 5, è CGI.pm, sviluppata da Lincoln D. Stein e attualmente alla versione Al sito potrete trovare la documentazione relativa a questo modulo. Il riferimento alla libreria CGI.pm è il seguente: Use CGI; CGI.pm contiene una libreria veramente ampia di possibilità di sviluppo Web, quindi consiglio vivamente di utilizzarla. Visualizzazione di un elenco di file Supponete di voler visualizzare una directory contenente i file del Web server. L esempio seguente mostra uno script Perl che legge in una directory (che viene passata o impostata come directory principale nell unità d:). Questo script utilizza la libreria CGI descritta in precedenza e include collegamenti che si richiamano in modo ricorsivo quando l utente espande i listati della directory. # Dirlist.pl # Include la libreria cgi standard distribuita con Application Server

11 PERL E IL MODULO PERL 11 require c:\websites\perl\cgi-lib.pl ; # Legge tutte le variabili impostate dal modulo &ReadParse(*input); # Stampa l intestazione HTTP (Content-type: text/html) print &PrintHeader; # Passa la directory $dir = $in{ dir }; # Se non avete ricevuto nessuna directory ($dir), # impostatela sulla directory principale nell unità d if ($dir eq $dir eq d:/ ) { $dir = d:// ; $dir2 = $dir; chop($dir2); } else { $dir2 = $dir; } # Fa iniziare il file HTML con la tag HTML standard, quindi introduce # la tag HEAD. Inserisce il titolo della finestra, che include # la directory dinamica passata # Chiude il titolo e inizia il corpo. print <html> ; print <head> ; print <title>directory Listing on Server for Folder $dir</title> ; print </head> ; print <body> ; # Stampa un titolo di livello 2 con il nome della directory # che stiamo analizzando. print <h2>folder $dir</h2> ; # Imposta il flag a N(o), ossia non abbiamo ancora visualizzato # l intestazione della tabella. $flag = N ; # Apre la directory impostata prima opendir (DIR,$dir); # Legge la directory, ordinando i nomi di file, e per tutti i valori # restituiti nell array esegue ciclicamente un ciclo foreach

12 12 ORACLE 9i SVILUPPO WEB foreach $name (sort readdir(dir)) { # Se il flag di intestazione della tabella è impostato su N(o), dovremo # aprire la tabella e stampare i titoli # all inizio della tabella if ($flag eq N ) { print <table border=1> ; print <tr> ; print <td><b>profile</b></td> ; print <td><b>created</b></td> ; print <td><b>operations</b></td> ; print </tr> ; $flag = Y ; } # Concatena la directory e il nome di file (utilizzato) $file = $dir2. $name; # Raccoglie tutti i componenti del file utilizzato ($dev,$inode,$perm,$hardl,$userid,$groupid,$devtype,$size,$atime, $mtime,$sts,$block,$bsize) = stat($file); # Converte mtime (ora ultima modifica) nell ora locale ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($mtime); # Dato che il mese è 0-11, si dovrà aggiungere 1 per stampare $mon++; # Formatta i minuti inserendo uno 0 a sinistra $min = sprintf( %02.0f,$min); # Inizia una nuova riga della tabella, stampa la data modificata in una cella print <tr> ; print <td>$name</td><td>$mon/$mday/$year $hour:$min</td> ; } # Se la dimensione del file è 0, supponiamo si tratti di una directory, # che in questo caso, stampa un ancora che permette all utente di # espandere la directory. Quindi, chiude la riga della tabella. if ($size eq 0 $size eq ) { print <td><a href=\ dirlist.pl?dir=$dir2$name\/\ + >Go to Folder</a> ; }; print </tr> ;

13 PERL E IL MODULO PERL 13 # Chiude la directory closedir(dir); # Se il flag non è stato impostato, se un file # non è mai comparso nella directory, allora si può dire if ($flag eq N ) { print <p><h3>there are no files in this folder $dir</h3></p> ; } # Chiude la tabella HTML, il corpo e il file HTML. print </table> ; print </body> ; print </html> ; Stabilire se un file esiste Per stabilire se esiste un determinato file piatto del sistema operativo, utilizzate lo script seguente. In questo esempio, $filename viene passato alla routine. Se il file esiste già, dovrebbe essere eseguita un azione, se invece il file non esiste, dovrebbe essere eseguita un altra operazione. if(-t $filename) { # il file di testo esiste, quindi esegue un azione print Text file ($filename) was found. ; } else { # il file di testo non esiste, quindi esegue un altra azione print Text file ($filename) was not found. ;} Nello script precedente, -T restituirà True se il file esiste ed è un file di testo. Se il file non esiste, verrà restituito il messaggio Text file ($filename) was not found. Creazione o aggiunta di un file Per creare un file sempre nuovo (sovrascrivere un file già esistente e crearne uno nuovo), eseguite la sintassi seguente: open(file, >$filename ) die( Couldn t open $filename for writing \n ); Per fare un aggiunta a un file già esistente, o per crearne uno nuovo se il file non esiste, la sintassi sarebbe la seguente:

14 14 ORACLE 9i SVILUPPO WEB open(file, >>$filename ) die( Can t append to $filename \n ); In altre parole, quando un simbolo maggiore di (>) precede il nome del file, Perl aprirà il file per scrivere, sovrascriverà il file già esistente e ne creerà uno nuovo. Se due simboli maggiore di (>>) precedono il nome del file, Perl farà un aggiunta al file già esistente oppure ne creerà uno nuovo se il file non esiste. Se aprite il file con il simbolo minore di (<) o con nessun simbolo, aprirete il file come fosse di sola lettura. La clausola die registra gli errori runtime per controllare il flusso e ricopre un ruolo molto importante nella programmazione CGI. Il risultato desiderato è una routine dal comportamento regolare che non viene interrotta con una condizione inspiegata. Altrimenti, visualizzerete la finestra di dialogo Salva con nome, come descritto in precedenza. Dovete prestare attenzione anche al processo che un utente del sistema operativo deve seguire per aprire il file. In altre parole, gli utenti dispongono dei diritti di accesso per creare/scrivere i file? Ricordatevi che siete in un ambiente multithread, quindi dovreste assicurarvi che i nomi di file siano univoci o reciprocamente bloccati per evitare che un singolo file venga scritto più volte contemporaneamente. L apertura di un file in modalità Append non garantirà la presenza dei dati nel file se anche altri processi possono accedervi o scrivere mentre voi siete convinti di scrivere nel file. Attivazione di una procedura PL/SQL da Perl Se avete uno script Perl che deve accedere a PL/SQL, oppure se avete bisogno di accedere a un qualsiasi URL da Perl, questo paragrafo presenta la soluzione. Per esempio, potrebbe esserci uno script Perl che esegue l autenticazione e, se i dati inseriti sono validi, li colloca nel database Oracle. Da PL/SQL, utilizzate il comando owa_util.redirect_url (new_location) per collegarvi a un altro URL. Questo comando dà come risultato un intestazione HTTP location: {new_location}. Per chiamare un altro URL, invece di stampare l intestazione content-type:, usate l intestazione location:, come mostrato nella sintassi seguente: Print location: $new_location?in_parameter=$form_parameter_1 &in_parameter2=$in_parameter2\n\n ; Se desiderate incorporare i risultati dello script PL/SQL nell output di Perl, utilizzate il comando utl_http.request, come descritto nel Capitolo 11.

15 PERL E IL MODULO PERL 15 Emulazione di un browser dalla linea di comando Se incontrate delle difficoltà nell eseguire il debug di uno script Perl dal browser, emulate un browser dal server impostando manualmente la variabile ambientale HTTP_USER_AGENT. Per esempio, per csh (Shell C): setenv HTTP_USER_AGENT Mozilla/4.05 Per ksh (Shell Korne): export HTTP_USER_AGENT = Mozilla/4.05 Emulazione di una richiesta POST dalla linea di comando Se il modulo HTML passa le informazioni allo script Perl tramite il metodo POST, potete emulare anche questa funzionalità dalla linea di comando. Per emulare una richiesta POST, inserite i dati in un file e indirizzatelo verso lo script Perl, come mostrato nella sintassi seguente: cat mypost.file my_perl_script.pl Pulitura del codice HTML Cosa accade se il codice HTML è stato creato (FrontPage) o proviene da un altra origine (Word, PowerPoint) che produce codice HTML non perfettamente conforme agli standard dello sviluppo HTML? È possibile impiegare uno script Perl molto importante, Weblint, espressamente per pulire il codice HTML. Weblint è disponibile al sito Questo script Perl può essere eseguito tramite la cartridge Perl oppure dalla linea di comando. L output può essere reindirizzato e lo script può essere eseguito su una struttura ad albero per valutare più di un file. Esiste un altro strumento, chiamato demoroniser, che svolge una funzione simile. Nella documentazione il suo scopo è: Impedirvi di apparire più insulsi di un sacchetto della spazzatura quando un utente di una piattaforma non Microsoft visualizza la vostra pagina Web. L autore è John Walker, fondatore di AutoDesk, nota per il programma di disegno di AutoCAD. Troverete l utility demoroniser al sito Di seguito sono elencati alcuni degli errori che demoroniser è in grado di correggere.

16 16 ORACLE 9i SVILUPPO WEB I punti e virgola mancanti alla fine degli escape di caratteri numerici (=) vengono inseriti. I rendering numerici di caratteri speciali (< > &) vengono sostituiti con equivalenti leggibili. Le tag <table> senza virgolette, contenenti caratteri non alfanumerici, vengono racchiuse tra virgolette. La tendenza di PowerPoint a non nidificare <font> e <strong> viene corretta. La tendenza di PowerPoint a usare le tag <ul> e </ul> per creare interruzioni di paragrafo viene corretta e vengono inserite le tag <p> opportune. Le tag <tr> che mancano nelle diapositive di solo testo vengono inserite. Le tag </p> inutili vengono eliminate. Le tag <li> senza corrispondente nei titoli vengono eliminate. Le linee della lunghezza di un paragrafo vengono interrotte in modo da poter essere modificate con un normale editor di testo. Un altro valido convalidatore HTML, ancora più rigoroso di Weblint, è disponibile al sito Weblint, uno strumento open source distribuito con la Perl Artistic License, è molto utile e include un convalidatore CSS e una suite di verifica CGI, che si trovano nella sezione Tools del sito. Accesso alla documentazione di Perl La documentazione di Perl è inclusa nella distribuzione di Perl, tuttavia potrete trovare la documentazione completa al sito perl.com, collegandovi all'indirizzo Ulteriori informazioni sono disponibili al sito alla pagina seguente: Analisi dei parametri ambientali Per visualizzare tutte le variabili ambientali, Perl mette a disposizione un array associativo chiamato %ENV. Il seguente segmento di script copia e visualizza tutte le variabili ambientali (ordinate): foreach $key (sort keys %ENV) { print $key, =, $ENV{$key}, \n ; }

17 PERL E IL MODULO PERL 17 Il codice precedente fornisce la stessa funzionalità di base della procedura owa_util.print_cgi_env del package PL/SQL. Invio di posta da Perl Inviare posta elettronica da uno script Perl è più semplice di quanto possa sembrare. Il segmento di codice seguente parte dal presupposto che abbiate passato le variabili $from, $name, $to, $subject e $message. Lo script si serve di Sendmail (http://www.sendmail.org) per inviare il messaggio di posta elettronica dal server: open (SENDMAIL, c:\sendmail\sendmail.exe -t -n ); print SENDMAIL <<End_of_Mail; From: $from <$name> To: $to Reply-To: $from Subject: $subject $message End_of_Mail Per semplificare questo processo, è possibile utilizzare uno script Perl dal nome Formmail. Formmail è semplice da usare e potete trovarlo al sito seguente: Determinare il browser del client e agire di conseguenza Il segmento di codice seguente esegue una query sulla variabile ambientale che contiene le informazioni relative al browser. Con queste informazioni, lo script Perl potrà adattarsi al browser. $browser = $ENV{ HTTP_USER_AGENT }; # lo switch i fa sì che la corrispondenza non distingua tra maiuscole e minuscole if ($browser =~ /mozilla/i) { # Azioni di Netscape richieste } else { # Nessuna azione di Netscape richiesta }

18 18 ORACLE 9i SVILUPPO WEB Inclusione dei componenti del sito Non avete mai voluto includere un altra pagina HTML (magari un modello o altre informazioni) nella pagina corrente? Oppure includere alcune informazioni tratte da un altro sito nella pagina corrente? La libreria libwww-perl mette a disposizione numerose utility di questo tipo, come WWW::Search, WebMirror, WebPluck e WebFetch. Al sito troverete tutte queste utility e molte altre. Codice di esempio con accesso a Oracle L esempio seguente si connetterà a un database, eseguirà una query e visualizzerà l output. Questa è una struttura standard. Sul Web è disponibile la documentazione completa di DBI e DBD. # Carica il modulo DBI. Il caricamento del modulo DBI consiste # nel leggere lo script del modulo Perl (DBI.pm) e l oggetto # condiviso (DBI.so). Questi file estendono il linguaggio Perl # definendo le chiamate che consentono agli script Perl di connettersi # ai database Oracle. Dopo aver caricato il modulo, l oggetto # condiviso viene collegato in modo dinamico alla cartridge, # gli script Perl.pm vengono letti, compilati e memorizzati # nello spazio dei nomi del package. Gli script possono quindi eseguire # le chiamate definite nel file.pm. L esempio chiama i metodi # connect(), prepare(), execute(), rows(), fetchrow(), finish() # e disconnect() nel modulo DBI. use DBI; # Stampa l intestazione HTTP per questa pagina HTML print Content-type: text/plain\n\n ; # Si connette al database Oracle usando la stringa di connessione SQL*Net # di sales. $dbh = DBI->connect( dbi:oracle:sales, scott, tiger ) or die $DBI::errstr; # Prepara l istruzione SQL (analizza il cursore) $stmt = $dbh->prepare( select * from emp order by empno ) or die $DBI::errstr; # Esegue l istruzione SQL precedente $rc = $stmt->execute() or die $DBI::errstr;

19 PERL E IL MODULO PERL 19 # Recupera il numero dei campi restituiti dall istruzione precedente $nfields = $stmt->rows(); # Stampa un messaggio per l utente, che indica quanti campi # si possono restituire print Query will return up to $nfields fields\n\n ; # Tutte le colonne (campi) restituite dall istruzione SQL # vengono inserite nei nomi di campo relativi nell istruzione while. # In altre parole, il primo campo viene inserito in una variabile chiamata # $empno, mentre il secondo viene inserito in un campo chiamato $name. while (($empno, $name) = $stmt->fetchrow()) { print $empno $name\n ; } # Visualizza messaggi di errore se commettiamo un errore warn $DBI::errstr if $DBI::err; die fetch error:. $DBI::errstr if $DBI::err; # Chiude il cursore e si disconnette da DB $stmt->finish() or die can t close cursor ; $dbh->disconnect() or die can t log off Oracle ; File di avvio di Perl Con la direttiva Perlrequire potrete specificare uno script Perl che verrà caricato per tutti gli utenti. Ovvero, la direttiva di richiesta Perl è uno script di avvio o inizializzazione per Perl. Per esempio, se includete la direttiva seguente nel file di configurazione di ias (httpd.conf), all avvio di ias verrà eseguito uno script chiamato startup.pl: Perlrequire /perl/startup.pl Quello che segue è un esempio dell aspetto che startup.pl potrebbe assumere per caricare i moduli DBI e DBD per Oracle al momento dell avvio di ias: # Richiede che tutte le variabili vengano dichiarate # (si dovrebbe sempre utilizzare) use strict; use Apache::Registry; # La libreria CGI standard, come visto in precedenza use CGI; # Parte della libreria CGI standard, principalmente per un errore di formattazione use CGI::Carp; # Include il modulo DBI (interfaccia del database) use DBI; 1;

20 20 ORACLE 9i SVILUPPO WEB Connessioni al database persistenti Per modificare l esempio precedente in modo che carichi prima il modulo DBI e poi si connetta al database, rendendo persistente la connessione al database Oracle, dovete definire un package (o raggruppamento di codice) nel file startup.pl. Il file startup.pl precedente verrebbe modificato nel modo seguente: use strict; use Apache::Registry; use CGI; use CGI::Carp; package Scott; # Configurazione per la chiamata al database Oracle use DBI; # Si connette al database Oracle usando la stringa di connessione SQL*Net # di sales. $dbh = DBI->connect( dbi:oracle:sales, scott, tiger ) or die $DBI::errstr;; 1; Lo script precedente verrebbe modificato in modo da risultare identico all esempio seguente. package Scott; # Stampa l intestazione HTTP per questa pagina HTML print Content-type: text/plain\n\n ; # Prepara l istruzione SQL (analizza il cursore) $stmt = $dbh->prepare( select * from emp order by empno ) or die $DBI::errstr; # Esegue l istruzione SQL precedente $rc = $stmt->execute() or die $DBI::errstr; # Recupera il numero dei campi restituiti dall istruzione precedente $nfields = $stmt->rows(); # Stampa un messaggio per l utente, che indica quanti campi si possono restituire print Query will return up to $nfields fields\n\n ; # Tutte le colonne (campi) restituite dall istruzione SQL # vengono inserite nei nomi di campo relativi nell istruzione while.

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Introduzione a PHP Gestione dei Dati e della Conoscenza

Introduzione a PHP Gestione dei Dati e della Conoscenza Introduzione a PHP Gestione dei Dati e della Conoscenza Diego De Cao, Roberto Basili {decao,basili}@info.uniroma2.it a.a. 2008/2009 PHP Overview PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor")

Dettagli

Perl e Win32: installazione e utilizzo. -Introduzione -Disponibilità -ActivePerl: Installazione -Moduli: Installazione tramite PPM -Perl e IIS -Link

Perl e Win32: installazione e utilizzo. -Introduzione -Disponibilità -ActivePerl: Installazione -Moduli: Installazione tramite PPM -Perl e IIS -Link Perl e Win32: installazione e utilizzo -Introduzione -Disponibilità -ActivePerl: Installazione -Moduli: Installazione tramite PPM -Perl e IIS -Link 1 Introduzione: Perl, acronimo di Pratical Extraction

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

FileMaker 12. Guida ODBC e JDBC

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

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

Server web e protocollo HTTP

Server web e protocollo HTTP Server web e protocollo HTTP Dott. Emiliano Bruni (info@ebruni.it) Argomenti del corso Cenni generali sul web IIS e Apache Il server web Micsosoft Internet Information Server 5.0 Il server web Apache 2.0

Dettagli

SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows

SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows i SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows Per ulteriori informazioni sui prodotti software SPSS Inc., visitare il sito Web all indirizzo http://www.spss.it o contattare: SPSS

Dettagli

Applicazione ASP di esempio

Applicazione ASP di esempio Applicazione ASP di esempio Database in rete Prof. Claudio Maccherani Un server web è un programma che gira su un computer sempre collegato ad Internet e che mette a disposizione file, pagine e servizi.

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA

POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA ACCESSO ALL AMBIENTE DI PROGRAMMAZIONE Microsoft Visual C++ è sufficiente cliccare sul pulsante di Windows,

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Laboratorio di reti II: Gestione di database lato server

Laboratorio di reti II: Gestione di database lato server Laboratorio di reti II: Gestione di database lato server Stefano Brocchi brocchi@dsi.unifi.it 23 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Database 23 marzo, 2009 1 / 32 Uso di database lato

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Applicazione client-server in PHP con database MySQL

Applicazione client-server in PHP con database MySQL Applicazione client-server in PHP con database MySQL Emanuele Scapin 1 1 Liceo Statale F.Corradini, via Milano 1, 36016 Thiene 30/05/2012 1 Premessa Dopo la trattazione di argomenti teorici di progettazione

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

2. Costruire un database con Apache, PHP e MySql

2. Costruire un database con Apache, PHP e MySql 2. Costruire un database con Apache, PHP e MySql Lo scopo di questa esercitazione è realizzare un server web e costruire un database accessibile attraverso Internet utilizzando il server Apache, il linguaggio

Dettagli

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo Il linguaggio PHP Parte I Introduzione Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it A.A. 2010/2011 Paolo Milazzo (Università di Pisa)

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML Reti Linguaggio HTML 1 HTML = Hypertext Markup Language E il linguaggio usato per descrivere documenti ipertestuali Ipertesto = Testo + elementi di collegamento ad altri testi (link) Linguaggio di markup:

Dettagli

Installazione e attivazione delle licenze

Installazione e attivazione delle licenze Capitolo 1 Installazione e attivazione delle licenze L installazione del software su una singola macchina è di solito un operazione piuttosto semplice, ma quando si deve installare AutoCAD in rete è richiesta

Dettagli

ASP: DOMANDE E RISPOSTE (Q&A)

ASP: DOMANDE E RISPOSTE (Q&A) Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: DOMANDE E RISPOSTE (Q&A) Dispensa La dispensa presenta i contenuti fondamentali di ASP nella

Dettagli

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif Web e HTTP Terminologia Una pagina web consiste di oggetti Un oggetto può essere un file HTML, una immagine JPG, ecc. Una pagina web consiste di un file HTML base che fa riferimento a diversi oggetti al

Dettagli

Oracle ed Open Source

Oracle ed Open Source Il boom dell ha imposto ai colossi dell informatica di considerare questi particolari prodotti alla stregua dei software convenzionali. Oracle non si è fatta pregare, vediamo cosa è venuto fuori da questo

Dettagli

Introduzione al QMF per Windows

Introduzione al QMF per Windows Query Management Facility Introduzione al QMF per Windows Versione 7 SC13-2907-00 Query Management Facility Introduzione al QMF per Windows Versione 7 SC13-2907-00 Nota Prima di utilizzare questo prodotto

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione al linguaggio PHP Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione a PHP PHP è un linguaggio di programmazione general-purpose che viene utilizzato in larga parte

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Installazione & Configurazione Php e MySQL su Mac Os X. Php Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Linguaggio HTML (2) Attributi di Per variare lo stile di carattere rispetto al default, si possono utilizzare tre attributi:

Linguaggio HTML (2) Attributi di <FONT> Per variare lo stile di carattere rispetto al default, si possono utilizzare tre attributi: Linguaggio HTML (2) Attributi di Per variare lo stile di carattere rispetto al default, si possono utilizzare tre attributi: SIZE= numero per modificare le dimensioni Es:

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side.

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side. PHP Il linguaggio HTML e i linguaggi di scripting come Javascript impongono alcune limitazioni alle applicazioni che si possono realizzare : per esempio non è possibile costruire un sito Web che consenta

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Gestione del database Gidas

Gestione del database Gidas Gestione del database Gidas Manuale utente Aggiornamento 20/06/2013 Cod. SWUM_00535_it Sommario 1. Introduzione... 3 2. Requisiti e creazione del Database Gidas... 3 2.1.1. SQL Server... 3 2.1.2. Requisiti

Dettagli

Ci sono tantissimi motivi per scrivere programmi

Ci sono tantissimi motivi per scrivere programmi Capitolo 1 Orientamento e primi passi 1.1 Il ruolo di PHP nel mondo del Web 1.2 Cos ha PHP di tanto speciale? 1.3 PHP in azione 1.4 Regole fondamentali dei programmi PHP 1.5 Sommario Ci sono tantissimi

Dettagli

The ultimate guide of: Mac OS X Snow Leopard, Informix, PHP 5.3 & PDO

The ultimate guide of: Mac OS X Snow Leopard, Informix, PHP 5.3 & PDO The ultimate guide of: Mac OS X Snow Leopard, Informix, PHP 5.3 & PDO 1. Introduzione Nel mio ultimo articolo Mac OS X Snow Leopard: Informix IDS 11.5 + PHP 5.3 (Musarra, 2009) è stato spiegato come installare

Dettagli

hottimo procedura di installazione

hottimo procedura di installazione hottimo procedura di installazione LATO SERVER Per un corretto funzionamento di hottimo è necessario in primis installare all interno del server, Microsoft Sql Server 2008 (Versione minima Express Edition)

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 8. PHP Parte I Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata A.A. 2010/2011

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

Installazione di IBM SPSS Modeler 14.2 Client (utente singolo)

Installazione di IBM SPSS Modeler 14.2 Client (utente singolo) Installazione di IBM SPSS Modeler 14.2 Client (utente singolo) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Client versione 14.2 con licenza per utente singolo. Una licenza

Dettagli

Le tecnologie software Internet

Le tecnologie software Internet Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B B2_1 V1.7 Le tecnologie software Internet Standard aperti / Sun Java Il contenuto del documento è liberamente utilizzabile dagli studenti,

Dettagli

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio

Dettagli

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Il candidato realizzi inoltre il sito Internet del centro che deve permettere, tra

Dettagli

Le tecnologie software Internet

Le tecnologie software Internet Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B2_1 V1.7 Le tecnologie software Internet Standard aperti / Sun Java Il contenuto del documento è liberamente utilizzabile

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete)

Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete) Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Client versione 14.2 con licenza di rete. Questo documento è stato

Dettagli

Simonotti Graziano DATABASE

Simonotti Graziano DATABASE DATABASE 1 - Che cos'è un database? Il database è un archivio di dati, che può essere gestito con sistemi informatici oppure in modo manuale. 2 - Come si chiamano i programmi che gestiscono gli archivi?

Dettagli

FileMaker Pro 12. Guida di FileMaker Server

FileMaker Pro 12. Guida di FileMaker Server FileMaker Pro 12 Guida di FileMaker Server 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di FileMaker,

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio Perl

Corso di Informatica Generale 1 IN1. Linguaggio Perl Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Corso di Informatica Generale 1 IN1 Linguaggio Perl Marco Liverani (liverani@mat.uniroma3.it) Sommario Prima parte: caratteristiche

Dettagli

Rev.00007 Pubbl.su sito

Rev.00007 Pubbl.su sito ISTRUZIONE OPERATIVA - Documentazione Supporto Pag. 1 di 8 REDAZIONE APPROVAZIONE R-ASSW Roman Del Prete Angela DG Mario Muzzin 03.02.2014 MOTIVO DELLA REVISIONE 00002 30.01.2008 Mod.paragr.4 : specifiche

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

In questo capitolo verrà impostato un ambiente per

In questo capitolo verrà impostato un ambiente per Capitolo 3 Il primo script in JavaScript 3.1 Gli strumenti software 3.2 Impostazione dell ambiente di authoring 3.3 Cosa farà il primo script 3.4 Inserimento del primo script 3.5 Analisi dello script 3.6

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 11. PHP - Complementi Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata

Dettagli

Capitolo 1 Introduzione a Gambas

Capitolo 1 Introduzione a Gambas Capitolo 1 Introduzione a Gambas Gambas è stato creato inizialmente da Benoit Minisini, un residente della periferia di Parigi. Secondo Benoit, Gambas è un linguaggio Basic con estensioni per la programmazione

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows IBM SPSS Modeler Server può essere installato e configurato per l esecuzione in modalità di analisi distribuita insieme ad altre installazioni

Dettagli

Il server web: Apache, IIS e PWS

Il server web: Apache, IIS e PWS IL SERVER WEB Corso WebGIS - Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Il server web: Apache, IIS e PWS...1 Directory di default...2 Alias e cartelle virtuali...3

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

A. Bardine - Introduzione a PostgreSQL. PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati

A. Bardine - Introduzione a PostgreSQL. PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati Basi di dati PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati PostgreSQL è Open-Source ed il suo sviluppo procede da 15 anni il suo codice sorgente è quindi disponibile

Dettagli

Oracle PL/SQL. Motivazioni

Oracle PL/SQL. Motivazioni Oracle PLSQL Motivazioni Supponiamo che nella gestione del database Azienda ci venga chiesto di apportare le modifiche necessarie a far sì che ad ogni impiegato possa essere assegnato, alla fine di ogni

Dettagli

PHP 1. Scripting lato server. Come funziona uno script. Che cosa è PHP 1. Esempio. Elementi del linguaggio. Più pseudo-tag nello stesso documento

PHP 1. Scripting lato server. Come funziona uno script. Che cosa è PHP 1. Esempio. Elementi del linguaggio. Più pseudo-tag nello stesso documento Scripting lato server Elementi del linguaggio PHP 1 L'URL che il browser richiede identifica una risorsa presente in un server http costituita da Codice HTML Pezzi di codice scritti in un linguaggio di

Dettagli

Indice PARTE PRIMA L INIZIO 1

Indice PARTE PRIMA L INIZIO 1 Indice Introduzione XIII PARTE PRIMA L INIZIO 1 Capitolo 1 Esplorare il World Wide Web 3 1.1 Come funziona il World Wide Web 3 1.2 Browser Web 10 1.3 Server Web 14 1.4 Uniform Resource Locators 15 1.5

Dettagli

Le espressioni regolari.

Le espressioni regolari. Lezione 8 Le espressioni regolari. Le espressioni regolari. Corrispondenze e classi di caratteri. Le regular expressions (espressioni regolari) servono per descrivere dei modelli di stringa. E possibile

Dettagli

Installazione di IBM SPSS Modeler 15 Batch per UNIX

Installazione di IBM SPSS Modeler 15 Batch per UNIX Installazione di IBM SPSS Modeler 15 Batch per UNIX Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Batch versione 15. IBM SPSS Modeler La modalità batch offre le stesse funzionalità

Dettagli

Introduzione al Linguaggio HTML

Introduzione al Linguaggio HTML Introduzione al Linguaggio HTML 2 Cosa e l HTML HTML = Hyper Text Markup Language Serve per produrre documenti nel WWW (World Wide Web) Utilizza un insieme predefinito di marcatori (TAG) per definire la

Dettagli

Protocollo HTTP, interfaccia CGI e linguaggio Perl

Protocollo HTTP, interfaccia CGI e linguaggio Perl Protocollo HTTP, interfaccia CGI e linguaggio Perl Marco Liverani liverani@mat.uniroma1.it 5 Dicembre 1996 Sommario Protocollo HTTP, interfaccia CGI e linguaggio Perl Prima parte: La tecnologia web Il

Dettagli

WHITE PAPER Per Sql-Injection si intendono comunemente tutti quegli attacchi ad un'applicazione, solitamente Web, in cui il programma esegue query su di un database SQL utilizzando variabili passate dall'utente

Dettagli

WWW (World Wide Web)!& ( # %% (*0 #,% )0#1( &#"#2

WWW (World Wide Web)!& ( # %% (*0 #,% )0#1( &##2 ! "#$" %% $"$&&"'& $%%& $'&( ) *+&, ) && *+ ( -./ WWW (World Wide Web)!& ( # (&%#(!(&&( %% (*0 #,% )0#1( &#"#2 Siti Web pagine Web: documenti pronti per essere registrati su un server Internet residenza

Dettagli

Sommario. 1. Introduzione. Samba - Monografia per il Corso di "Laboratorio di Sistemi Operativi".

Sommario. 1. Introduzione. Samba - Monografia per il Corso di Laboratorio di Sistemi Operativi. Sommario SAMBA Raphael Pfattner 10 Giugno 2004 Diario delle revisioni Revisione 1 10 Giugno 2004 pralph@sbox.tugraz.at Revisione 0 17 Marzo 2004 roberto.alfieri@unipr.it Samba - Monografia per il Corso

Dettagli

Scheda 15 Accedere ai DataBase con JDBC

Scheda 15 Accedere ai DataBase con JDBC Scheda 15 Accedere ai DataBase con JDBC G IOVANNI PULITI Panoramica: che cosa è JDBC La API JDBC, introdotta per la prima volta con il JDK 1.0, è una API che permette di accedere a database relazionali

Dettagli

Indice. Introduzione. PARTE PRIMA PHP: i fondamenti 1

Indice. Introduzione. PARTE PRIMA PHP: i fondamenti 1 Indice Introduzione XV PARTE PRIMA PHP: i fondamenti 1 Capitolo 1 Perché PHP e MySQL? 3 1.1 Cos è PHP? 3 1.2 Cos è MySQL? 4 1.3 La storia di PHP 5 1.4 La storia di MySQL 6 1.5 Le ragioni per amare PHP

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

APPENDICE. Procedure in SQL (1)

APPENDICE. Procedure in SQL (1) APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate

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

Esercitazione. Fig. B.1 L ambiente di lavoro Exel

Esercitazione. Fig. B.1 L ambiente di lavoro Exel Esercitazione Exel: il foglio di lavoro B.1 Introduzione Exel è un applicazione che serve per la gestione dei fogli di calcolo. Questo programma fa parte del pacchetto OFFICE. Le applicazioni di Office

Dettagli

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

Creare un Web di FrontPage con un modello

Creare un Web di FrontPage con un modello P RO G E T TO 1 Creare un Web di FrontPage con un modello OBIETTIVI In questo progetto imparerete a: Descrivere FrontPage e spiegare le sue funzioni principali Definire HTML e spiegare l uso dei tag HTML

Dettagli

HTML 1. HyperText Markup Language

HTML 1. HyperText Markup Language HTML 1 HyperText Markup Language Introduzione ad HTML Documenti HTML Tag di markup Formattazione del testo Collegamenti ipertestuali Immagini Tabelle Form in linea (moduli) Tecnologie di Sviluppo per il

Dettagli

Guida a PHP. Primi esempi

Guida a PHP. Primi esempi Guida a PHP Php è un modulo aggiuntivo per web server che permette di creare delle pagine web dinamiche. Una pagina in Php è composta sia da tag html, sia da parti in codice di programmazione Php. Ogni

Dettagli

Metodologie Informatiche Applicate al Turismo

Metodologie Informatiche Applicate al Turismo Metodologie Informatiche Applicate al Turismo 9. HTML Parte II Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Scienze

Dettagli

Siti web e Dreamweaver. La schermata iniziale

Siti web e Dreamweaver. La schermata iniziale Siti web e Dreamweaver Dreamweaver è la soluzione ideale per progettare, sviluppare e gestire siti web professionali e applicazioni efficaci e conformi agli standard e offre tutti gli strumenti di progettazione

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

Lezione II: Web server e ambiente di lavoro

Lezione II: Web server e ambiente di lavoro Lezione II: Web server e ambiente di lavoro In questa lezione, in laboratorio, si mostrerà quali sono i passi necessari per creare ed eseguire una pagina ASP. Brevemente, verrà fatto anche vedere, come

Dettagli