LEZIONE 8 Nozioni di ASP La presente lezione introduce gli aspetti avanzati legati alle tematiche di "programmazione" nell'HTML4. Questa sezione propone alcuni concetti fondamentali per poter entrare nell'argomento. Nozioni di ASP Siti web statici o dinamici Quando si parla di "siti o prodotti web statici" non si intende privi di "animazioni" ma ci si riferisce a semplici pagine ipertestuali, contenenti testo e immagini, collegate le une alle altre da pulsanti e link di navigazione. Sono siti web essenzialmente pensati per generare pagine di presentazione, brochure on-line oppure pagine personali. Tali siti o prodotti web non sfruttano n utilizzano la tecnologia gestionale dei database o linguaggi web. Contrariamente ai siti o prodotti statici, quelli dinamici si basano sulle tecnologie web di gestione dei database, che consentono elevatissime performance. Questa tipologia di prodotti la pi adatta per la generazione di cataloghi, vendite on-line, o tutti quei siti che necessitano di frequenti aggiornamenti. Con un prodotto statico non sar possibile interagire o comunicare in alcun modo con il "server" mentre laddove interviene la "dinamicit" non solo sar possibile ci, ma si pu perfino parlare di sito intelligente con funzionalit avanzate e/o procedure automatiche. La necessit di ottenere una maggiore interattivit tra l'utente che visita il sito web ed il sito stesso, ha portato alla realizzazione di strumenti che conferissero una maggiore dinamicit al web rispetto all'HTML. La tecnologia Active Server Pages (ASP) solo una delle possibili tecnologie di scripting server-side (ovvero procedure software eseguite lato server), esistono anche analoghi strumenti che "lavorano" su altre piattaforme come ad esempio PHP, JSP, CGI, PERL, ecc. Tali linguaggi di scripting server-side offrono la possibilit di sfruttare, in modo semplice ed efficace, le tecnologie di accesso ai Database e ai server SQL. Le pagine ASP sono completamente integrate con i file HTML, sono facili da creare e in grado di utilizzare tutte le diverse risorse disponibili su un server per realizzare un sito web che possa sfruttare le diverse tecnologie in modo trasparente. Una pagina ASP un file testuale che contiene tre parti: * Testo * Marcatori HTML * Comandi di script molto semplice creare un file .asp: basta rinominare un qualunque file HTML, sostituendo l'estensione esistente (.html o .htm) con l'estensione .asp; I server WEB Per far funzionare le proprie pagine web si ha bisogno di un Server Web. Il server web un processo sempre attivo su una macchina connessa ad Internet, che ascolta richieste HTTP su una porta (la porta 80), reperisce il documento (oppure esegue il programma/script) richiesto e restituisce il risultato al client web. I server web (anche detti server HTTP) sono programmi che consentono di distribuire su Internet le pagine HTML. I server web accettano richieste dai browser, per esempio Netscape Navigator e Internet Explorer e restituiscono i documenti HTML appropriati. Esistono oggi sul mercato circa 30 server HTTP per le diverse piattaforme. Il funzionamento di un web server, nel caso pi semplice, la trasmissione di pagine HTML statiche (cio preparate in anticipo) che avviene come segue: * il browser richiede al server una pagina HTML * il server recupera la pagina HTML e la spedisce al browser * il browser richiede altre risorse (immagini) contenute nella pagina HTML * il server fornisce queste risorse al browser che visualizza la pagina Le capacit di un server possono tuttavia essere potenziate mediante applicazione server-side, ovvero operazione eseguite dal "lato del server". Internet Information Server un server HTTP che gira solo su piattaforma Windows, anzi fa parte del sistema operativo stesso, di cui l'estensione per Internet. Si tratta di un web server strettamente integrato con il sistema operativo e quindi facile da amministrare. Rispetto ad altri web server ha lo svantaggio di girare solo su una piattaforma, ma ha comunque circa il 23% del mercato. Linguaggi di Scripting Le pagine ASP impiegano al loro interno "Linguaggi di Scripting", cio hanno la possibilit di definire componenti software eseguibili che arricchiscono le funzionalit offerte da varie applicazioni ed ambienti. A differenza dei linguaggi di programmazione, i linguaggi di scripting hanno una sintassi facilitata anche se offrono in genere funzionalit ridotte. Un linguaggio di scripting presenta una sintassi pi semplice e ricorda pi una lista di cose da fare piuttosto che una sequenza strutturata di comandi. I linguaggi di scripting sono generalmente interpretati, mentre i linguaggi di programmazione sono linguaggi compilati. Una pagina ASP generalmente costituita da una sequenza di blocchi che possono rappresentare elementi del linguaggio HTML oppure elementi del linguaggio di scripting. L'HTML sar comunque impiegato per la formattazione dei dati su schermo. Le sezioni di script sono racchiuse tra una coppia di marcatori: <% e %> ASP supporta in modo nativo due linguaggi di scripting, VBScript e JScript, per lo sviluppo delle pagine dinamiche. Il linguaggio di scripting di default VBScript; se si vuole usarne un altro specificarlo in questo modo: <%@ Language=JScript %> Mentre la prima istruzione una direttiva che va impostata all'inizio della pagina, la seconda riguarda un singolo blocco di codice e pu essere inserita in qualunque punto della pagina. L'impiego della marcatura con la coppia di tag permette di controllare un'altra caratteristica messa a disposizione da ASP: la possibilit di decidere dove verr eseguito il blocco di codice script racchiuso dai tag. La tecnologia ASP permette di utilizzare qualsiasi altro tipo di linguaggio di scripting purch sia stato installato il relativo scripting engine ovvero il relativo interprete del linguaggio. Un linguaggio per cui stato realizzato lo scripting engine il PERL, e la sua versione per ASP si chiama PerlScript. I file ASP sono identificati all'interno del server in quanto hanno un'estensione .asp. Grazie a questa il web server riconosce il tipo di file ed utilizzando l'interprete (asp.dll), esegue "la pagina" e restituisce un file di testo che comprende il codice "HTML + script lato client" generato dinamicamente. Infatti uno dei grandi vantaggi offerti dalla tecnologia ASP che il codice degli script lato server (che poi sono i pi numerosi ed importanti) vengono "mascherati" all'utente e al suo browser; infatti, se un utente prova a fare dal suo browser Visualizza - Codice vede solo il codice HTML risultante dall'elaborazione degli script lato server pi il codice (eventuale) degli script lato client. Come visualizzare un file ASP all'interno di un browser Per provare in locale (ovvero sul proprio computer) un sito o una applicazione basata su ASP necessario l'utilizzo di un Web Server che supporti l'ASP. Il processo di sviluppo di un sito o di una applicazione basata su ASP una cosa solitamente lunga, occorre progettare le singole pagine, scrivere il codice, definire i database, verificare la necessit di componenti esterni, ed infine provare il tutto. Per visualizzare un documento HTML basta aprirlo nel browser per avere una idea di come apparir, un documento ASP se non si ha un Server Web in grado di interpretarlo non pu essere visualizzato. necessario, pertanto, avere installato sul proprio computer e utilizzare un server web per poter verificare i concetti veicolati nel corso. Utenti Windows 95/98 Le versioni di Windows 95 e 98 possono installare Personal Web Server che svolge tutte le attivit dei pi blasonati IIS ed Apache, risponde ai protocolli HTTP, supporta ASP, CGI ed gratuito. possibile reperirlo sul CD di FrontPage e sul CD di Windows 98. Per quanto riguarda il PWS fornito con FrontPage, nella versione di FP 97/98 il PWS non supporta le pagine ASP direttamente. Per aggiugnere il supporto occorre installare il modulo aggiuntivo che si trova nel '60 Minute Intranet Kit' sempre sul CD di FrontPage nella directory dei Moduli, il modulo ASP.EXE. Il PWS fornito con Win 98 una generazione pi avanti rispetto a quello di FrontPage, infatti non viene pi chiamato Personal Web Server ma Peer Web Services, in questa versione il supporto ASP gi integrato ma occorre selezionarlo durante l'installazione. Utenti Windows NT/2000 I sistemi operativi windows NT o 2000 server supportano "web server IIS" e normalmente questo aggiunto durante l'installazione del sistema operativo. comunque presente nel cd di installazione. anche possibile installare PWS. Utenti Windows XP La versione di Windows XP Home edition non supporta server web IIS, possibile tentare di installare PWS senza per poter garantire nessun risultato. La versione Professional di XP, invece, supporta IIS 5.1. Per maggiori chiarimenti riguardo i prodotti windows possibile consultare la documentazione on-line in lingua inglese all'indirizzo: http://support.microsoft.com/default.aspx?scid=kb;EN-US;312638 Utenti Linux/Unix/MacOsX Gli utenti linux/unix sono gi predisposti per eseguire server web ma ad esclusione dell'estensione asp. Pu essere aggiunto un componente chiamato "Chilisoft" che interpreta i comandi asp. Tale software a pagamento. Dopo aver installato PWS e riavviato la macchina, nel Tray (vicino all'orologio) deve apparire l'icona di PWS. E ci significa che sta funzionando. Facendo click con il tasto destro del mouse e scegliendo Home Page dal men che appare, viene visualizzata la home page del sito Internet che adesso risulta essere presente in locale sul vostro computer. Con l'installazione di default di PWS, il sito Internet, cio i documenti HTML ed ASP che gestiamo, si trovano in: C:\WebShare\WWWRoot\ oppure C:\InetPub\WWWRoot\ Questa la vostra "home directory". In generale il PWS predisposto per partire con un documento denominato "default.htm" o "default.asp", ma il documento denominato "default" pu essere cambiato usando l'utility di configurazione di PWS che si attiva scegliendo "Amministra" dal menu che appare cliccando con il tasto destro sull'icona del PWS. Perch PWS (o IIS) interpreti una pagina ASP necessario che: * la pagina sia chiamata usando il browser, cio digitando nella barra l'indirizzo http://nomepc/nomefile.asp. * la directory in cui la pagina si trova abbia i permessi di esecuzione script attivati. Si consiglia di utilizzare le directory di default dei server web per archiviare il sito di prova. La programmazione orientata agli oggetti L'architettura Active Server Pages (ASP) utilizza una programmazione orientata agli oggetti. Un "oggetto" uno strumento che ci viene fornito da una libreria (DLL) esterna o interna all'ASP stesso. Quindi le "capacita'" dell'oggetto in questione sono specifiche dell'oggetto e non dipendono tanto dall'ASP. Gli oggetti servono ad "estendere" le capacit del linguaggio e a fornire l'accesso a funzionalit molto utili che sono impossibili con i costrutti standard del linguaggio. Un oggetto ha delle Caratteristiche (Propriet) e delle Funzionalit (Metodi), che sono tipici dell'oggetto stesso. Gli "oggetti interni" sono forniti con ASP stesso, non necessario creare questi oggetti in maniera esplicita nel codice perch l'interprete ASP li crea automaticamente e li fornisce direttamente per essere utilizzati. Il concetto di programmazione orientata agli oggetti pu essere cos riassunto: * il mondo fatto di oggetti * dato che un programma una rappresentazione (un modello) nel calcolatore di una certa realt di interesse, possiamo dire che anche un programma composto di oggetti * Nella programmazione orientata agli oggetti, l'enfasi posta non tanto sulle azioni che devono essere svolte quanto sugli oggetti che compiono/subiscono tali azioni. * Gli oggetti cooperano e comunicano tra loro mediante messaggi Facciamo un esempio con un oggetto reale, si consideri un televisore: * L'oggetto ha un nome ossia "televisore" con cui ci si pu riferire ad esso (cio, referenziarlo); * L'oggetto Televisore pu compiere delle operazioni: o accendersi, o spegnersi, o cambiare canale, o regolare volume, luminosit, contrasto, o etc. . . * si trova in un certo stato, specificato da un insieme di propriet: per esempio, pu essere acceso sul primo canale con il volume al minimo; * ogni propriet ha un nome, un insieme di valori ammissibili e un valore corrente; * L'insieme delle operazioni che un televisore in grado di compiere costituisce il comportamento del televisore; * Si pu utilizzare un telecomando per far eseguire al televisore un'operazione; * Premendo un tasto del telecomando si invia al televisore una richiesta di esecuzione di un'operazione sotto forma di segnale elettromagnetico; * Nella terminologia della programmazione a oggetti, la richiesta dell'esecuzione di un'operazione viene fatta mediante l'invio di un messaggio a un oggetto; * Un altro aspetto fondamentale di un televisore che per utilizzarlo non necessario conoscerne il funzionamento interno; * sufficiente avere una descrizione delle operazioni che in grado di eseguire (come si trovano ad esempio in un manuale d'uso del televisore); * La descrizione di ciascuna operazione data specificando il formato del messaggio (ad esempio: premere un tasto) e il significato (ad esempio: la pressione del tasto provoca lo spegnimento del televisore); Le precedenti caratteristiche si ritrovano anche negli oggetti software, infatti anche tali oggetti hanno: * Un nome per essere referenziati (come "televisore" per il caso reale) * Delle propriet (il televisore sintonizzato sul canale 1) * Dei metodi (premere il bottone in alto per cambiare canale) Supponiamo di avere un oggetto Software che rappresenta una cartella (Folder) sul disco. Questo oggetto ha delle propriet: * nome della cartella * dimensione (in KByte) * numero di file contenuti * elenco dei file contenuti * ecc. I Metodi associati all'oggetto Cartella: * Cancella per eliminare la cartella e il suo contenuto * Sposta per muovere la cartella con il suo contenuto * ecc. Continueremo a illustrare i concetti fondamentali del linguaggio.asp nella prossima lezione.