APPENDICE B Le Active Server Page



Documenti analoghi
Corso basi di dati Introduzione alle ASP

19. LA PROGRAMMAZIONE LATO SERVER

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB

Database e reti. Piero Gallo Pasquale Sirsi

Lezione II: Web server e ambiente di lavoro

Capitolo 4 Pianificazione e Sviluppo di Web Part

Data Base in Internet

Siti interattivi e dinamici. in poche pagine

Applicazione ASP di esempio

Access. P a r t e p r i m a

Corso di Informatica Modulo T3 B2 - Database in rete

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Corso basi di dati ASP e i database

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

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

Dispensa di database Access

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

STAMPA UNIONE DI WORD

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Componenti Web: client-side e server-side

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Corso di PHP. Prerequisiti. 1 - Introduzione

SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

EXPLOit Content Management Data Base per documenti SGML/XML

Introduzione all elaborazione di database nel Web

OSSIF WEB. Manuale query builder

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Il web server Apache Lezione n. 3. Introduzione

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Siti web centrati sui dati (Data-centric web applications)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Studi di Settore. Nota Operativa 22/4/2013

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

MANUALE D USO DELLA PIATTAFORMA ITCMS

Al giorno d oggi, i sistemi per la gestione di database

7.4 Estrazione di materiale dal web

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Lezione 9. Applicazioni tradizionali

Progetto ittorario Anno scol

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Esercizi di JavaScript

FPf per Windows 3.1. Guida all uso

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Mac Application Manager 1.3 (SOLO PER TIGER)

Le query. Lezione 6 a cura di Maria Novella Mosciatti

La tecnologia ASP.NET e i database

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Facoltà di Farmacia - Corso di Informatica

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo


HTML il linguaggio per creare le pagine per il web

GERARCHIE RICORSIVE - SQL SERVER 2008

Creare un sito Multilingua con Joomla 1.6

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Concetti fondamentali dei database database Cos'è un database Principali database

Gestione di un magazzino: sviluppo di un applicazione web-database

Registratori di Cassa

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Manuale per la configurazione di AziendaSoft in rete

Novità di Access 2010

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF

I file di dati. Unità didattica D1 1

JDBC versione base. Le classi/interfacce principali di JDBC

Applicazioni web centrati sui dati (Data-centric web applications)

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

MANUALE UTENTE Fiscali Free

SOLUZIONE Web.Orders online

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

4 Data Transformation Services

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

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

Il sistema C.R.M. / E.R.M.

Xampp. Valeriano Maysonnave - A.A. 2014/2015 -

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Organizzazione degli archivi

Corso di Informatica

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Stampa di dati variabili

Base Dati Introduzione

LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Guida Compilazione Piani di Studio on-line

Gestione della memoria centrale

Transcript:

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 vengono richieste molte risorse al server, e in certi casi ciò può portare a ritardi sulla risposta o ad un eccessivo carico sul server stesso. Si pensi al caso di invio di dati in qualche modo errati (ad esempio, una data non valida) che attivano un istanza di applicazione CGI con l unico effetto di notificare l erroneo inserimento di dati e con la conseguenza di consumare risorse del server e della banda di trasmissione. Per superare questo genere di problemi, la Microsoft, rilasciando la versione 3.0 di Internet Information Server (IIS), ha introdotto sul mercato degli scripting server-side, la tecnologia Active Server Pages (ASP), con l idea di sfruttare non solo le potenzialità degli strumenti server dedicati alla connettività, ma anche attraverso la tecnologia COM (Common Object Model), sfruttare tutte le risorse che il server Microsoft ha a disposizione e coinvolgendo anche i linguaggi di scripting come Jscript e Vbscript. B.2 A cosa serve e come funziona Le pagine ASP sono completamente integrate con i file HTML, non necessitano di compilazione, sono orientate agli oggetti e usano componenti server ActiveX. La figura B1 sintetizza lo schema di funzionamento di un applicazione ASP: 175

CLIENT Richiesta SERVER Motore ASP Risposta in HTML DB Obj COM Figura B1:Funzionamento di un applicazione ASP 1. Il browser richiede una pagina ASP; 2. il web server preleva la pagina ASP ed attiva l interprete ASP per la sua preelaborazione, coinvolgendo eventualmente altri componenti presenti sul server; 3. il risultato dell elaborazione viene inviato al browser tramite il protocollo HTTP. B.3 Principale utilizzo della tecnologia ASP L uso più comune di questa tecnologia è quello di mediatore tra web server e una base di dati. Grazie ad ActiveX Data Object (ADO) è possibile accedere a qualsiasi base di dati ODBC o OLEDB compatibile, usufruendo dei vantaggi che questa tecnologia offre, tra i quali la semplicità di accesso ai dati e l indipendenza dell applicazione dal tipo di base di dati. ASP supporta un efficiente gestione delle connessioni sfruttando la funzione di connection pooling di ODBC 3.5. Questa funzione consente la condivisione di una connessione tra richieste provenienti da utenti diversi, evitando di creare nuove connessioni e riducendo il numero di quelle inattive. B.4 Supporto dei linguaggi di scripting ASP supporta in modo nativo due linguaggi di scripting, VBScript e JScript. Se non diversamente specificato, ASP interpreta il codice script che trova all interno dei marcatori <% e %> come codice VBScript, il linguaggio predefinito. E possibile 176

comunque modificare il linguaggio predefinito sia a livello di web server, cioè per tutte le applicazioni ASP gestite da IIS, che a livello di singola applicazione, cioè per tutte le pagine che compongono un applicazione. E comunque da tener presente che impostare un linguaggio predefinito può portare problemi di compatibilità con altri web server non adeguatamente configurati: infatti, portando un applicazione ASP da un web server con JScript come linguaggio predefinito su un web server con VBScript predefinito è evidente che la sua esecuzione causa problemi di interpretazione sul server di destinazione. Tramite la direttiva @ LANGUAGE è possibile specificare il linguaggio da utilizzare all interno di una determinata pagina ASP. Così, ad esempio, se una pagina ASP contiene come prima linea la direttiva <% @ LANGUAGE = JScript %> il motore ASP interpreterà il codice contenuto all interno di quella pagina come codice JScript. Inoltre, all interno di una pagina possono essere utilizzati linguaggi di scripting diversi, potendo sfruttare al massimo le caratteristiche proprie di ciascuno di essi. Utilizzando una versione arricchita del tag <SCRIPT> è possibile specificare che un blocco di codice deve essere interpretato secondo un determinato linguaggio: <SCRIPT LANGUAGE= VBScript RUNAT= Server > Codice script </SCRIPT> L attributo RUNAT specifica a che livello deve essere interpretato lo script; se non viene impostato, lo script è destinato all interpretazione da parte del browser. Oltre a VBScript e JScript, è possibile utilizzare un qualsiasi linguaggio di scripting il cui scripting engine sia stato installato sul web server. Uno scripting engine è un interprete di un determinato linguaggio realizzato come oggetto COM secondo lo standard ActiveX Scripting. 177

B.5 La sintassi B.5.1 Cenni preliminari Dopo aver visto gli aspetti principali di ASP, cominciamo a studiarne la sintassi. Possiamo dividere una pagina ASP in tre parti: 1) Testo 2) Marcatori HTML 3) Comandi script In un documento con estensione.asp è consentito utilizzare variabili, cicli e istruzioni di controllo, grazie alla possibilità di richiamare la sintassi di un linguaggio di scripting, come ad esempio il VBscript e il Jscript, ma anche perl e altri. La scelta del linguaggio dipende in primo luogo dalle necessità del programmatore e dal tipo di esecuzione che si vuole avere: se si vogliono eseguire gli script dal lato server è preferibile utilizzare il VBscript, mentre se ci si vuole affidare alla potenza degli "scripting engine" (motore che interpreta i comandi dei linguaggi di scripting e li esegue) dei singoli navigatori è sicuramente meglio utilizzare il Jscript, semplice ed efficace. Il codice ASP è sempre delimitato da i due marcatori <% e %>. Ad esempio la seguente riga: <% x= ciao %> assegna alla variabile x la stringa ciao. Una pagina può essere costituita solamente da codice ASP, oppure avere ASP immerso nel codice HTML: in entrambi i casi l estensione deve essere.asp. Come accennato, all interno della pagina è possibile sempre inserire un codice in un linguaggio diverso da ASP: in questo caso deve però essere dichiarato dove tale codice va eseguito. Supponendo allora di voler usare uno script in Jscript, la giusta sintassi è la seguente: <SCRIPT LANGUAGE = Jscript RUNAT= [server oppure client]> 178

Il valore di default per il parametro RUNAT è server. Una volta definita una funzione in un qualsiasi linguaggio di script, per richiamarla basta usare l istruzione call. Esiste un altra istruzione, include, che permette di inserire in un file asp, il contenuto di un file esterno che può essere di testo, html, asp, grafica o qualsiasi altro file presente sul server. La sintassi è la seguente: <!--INCLUDE FILE="nomefile.est" --> e va usata sempre al di fuori dei tag <%,%>, che delimitano gli script ASP. B.5.2 ASP e le basi di dati In questa sezione ci occuperemo di come ASP permette l interfacciamento con le basi di dati ODBC compatibili. Affinché gli utenti potessero interagire con i DBMS tramite un browser, ovvero permettere la consultazione on-line di basi di dati la Microsoft ha associato ai suoi web Server, oltre alla possibilità di utilizzare l interfaccia ODBC, la tecnologia IDC (Internet Database Connector). Internet Database Connector è uno strumento che può essere utilizzato per spedire query ad una base di dati e formattare i dati che ritornano, in una pagina HTML. In figura B2 è illustrato come IIS e Personal Web Server consentono l'accesso ad una base di dati. Figura B2: Accesso ad una base di dati con PWS 179

I web browser inviano richieste ai server Internet usando il protocollo HTTP; i server web rispondono alle interrogazioni con documenti HTML grazie proprio a IDC. IDC usa due tipi di file per controllare l'accesso alla base di dati e la generazione del documento HTML di risposta: 1. file.idc Internet Database Connector; 2. file.htx HTML extension I file.idc contengono le informazioni necessarie per connettersi all'appropriato ODBC data source e consentire l'esecuzione di istruzioni SQL. Inoltre questi file contengono informazioni sul nome e la locazione del file HTML. I file.htx contengono i template per il documento HTML che viene restituito al web browser dopo che i dati spediti hanno interagito con la base di dati attraverso IDC. Per usare IDC lo strumento è ASP, il quale nasconde sia all utente che al programmatore la struttura e la costruzione dei file.idc e.htx. B.5.2.1 ASP e ADO Per utilizzare i driver ODBC, e quindi poter leggere una base di dati, ASP si serve della tecnologia ADO (ActiveX Data Objects) sviluppata da Microsoft per il suo linguaggio ActiveX. Tramite ADO è comunque possibile connettere una applicazione anche a basi di dati non ODBC compatibile quali ad esempio OLE DB. Per identificare la base di dati su cui lavorare, gli script ADO hanno bisogno che sia specificato un DSN (data source name) che univocamente specifichi il nome e il "luogo fisico" dove si trova la base di dati. A sua volta il DSN contiene le informazioni che riguardano la configurazione della base di dati, le specifiche sulla sicurezza, dove e come sono allocati i dati e può registrare le modifiche del file di log. ODBC mette a disposizione tre tipi di DSN: User, System o File. Eccone una breve descrizione: Il System DSN, permette agli utenti di avere un login; Lo User DSN controlla l'accesso di determinati utenti; Il File DSN, che mantiene il form del text file, permette l'accesso a diversi utenti e 180

facilita il passaggio di dati da un server ad un altro; Gli oggetti di ADO, sono sette, ma tutti sono in qualche modo collegati con l oggetto Connection, quello che permette di connettere l applicazione ASP con una base di dati ODBC compatibile. Quindi una volta dichiarato un oggetto Connection, è possibile gestire gli errori di connessione attraverso l oggetto Error. Oppure possiamo compiere operazioni sulla base di dati usando l oggetto Command, grazie al quale è possibile specificare stringhe che possono essere query o comandi per interagire con la base di dati. A sua volta command, permette di definire parametri all interno delle stringhe di comando utilizzando l oggetto Parameter. In alternativa all uso di Command, ADO da la possibilità di accedere ai record di una base di dati utilizzando l oggetto Recordset che a sua volta sfrutta i metodi dell oggetto Field attraverso il quale è facile spostarsi tra i campi di una tabella di una base di dati. B.5.2.2 Connessione ad una base di dati Vediamo in che modo si stabilisce la connessione tra il file ASP e la base di dati. I metodi sono diversi e possono essere utilizzati tutti indifferentemente. Per quel che riguarda la visualizzazione, la connessione avviene usando l oggetto ADODB.RecordSet: Set rst = Server.CreateObject("ADODB.recordset") rst.open strquery, strprovider Con il metodo rst.open apriamo materialmente la comunicazione con la base di dati che si trova sul server, nel percorso individuato attraverso la stringa strprovider e definiamo anche l interrogazione (in questo caso statica) che si vuole effettuare sulla base di dati e che viene letta attraverso la stringa strquery. strprovider="driver=microsoft Access Driver (*.mdb); DBQ=" & Server.MapPath("/") & " Tesi\Sigmod\Sigmod.mdb;" strquery="select.. FROM WHERE.. 181

Su strquery non c è molto altro da dire, mentre è interessante porre l attenzione su strprovider. Notiamo infatti che per definire il path dove si trova il file Access, utilizziamo il metodo dell oggetto Server, MapPath: in questo modo rendiamo il percorso relativo e non assoluto. Ciò però potrebbe comportare problemi di carico sul server. Se allora il programma viene sviluppato solo per una macchina e non si prevede di dover in futuro, esportare le pagine realizzate su altri server, è preferibile usare la seguente modalità per definire il path: strprovider="driver=microsoft Access Driver (*.mdb); DBQ="& "c:\inetpub\wwwroot\tesi\sigmod\sigmod.mdb;" Infatti in questo caso specifichiamo il path assoluto sulla macchina che stiamo utilizzando. Il secondo metodo, che può essere utilizzato per l inserimento e la cancellazione di un record, sfrutta la seguente sintassi: Set cn = Server.CreateObject("ADODB.Connection") cn.open strprovider In questo caso ci limitiamo a connettere la base di dati con la nostra pagina. Quindi non abbiamo ancora definito nessuno strumento per lavorare sui record. Per farlo dobbiamo definire il seguente oggetto: Set cm= Server.CreateObject("ADODB.Command") Set cm.activeconnection = cn Ora cm, ci permetterà di svolgere update, delete e insert, sulla base di dati. Il terzo metodo per la connessione sfrutta invece le proprietà del driver. Per ora analizziamo il metodo con cui avviene tale connessione. In questo caso occorrerà interagire con il sistema operativo. All interno del pannello di controllo occorre 182

selezionare la voce ORIGINE DATI ODBC e selezionare poi il foglio DSN System in modo da scegliere il DSN da associare e il percorso dove si trova la nostra base di dati. Ultimate queste operazioni, la nostra base di dati sarà localizzata da ADO, con il nome che gli abbiamo assegnato. B.5.2.3 L oggetto RecordSet Abbiamo visto in precedenza alcune proprietà dell oggetto RecordSet ma vale la pena approfondirne alcuni aspetti, dato che questo oggetto risulta essere un mezzo versatile e potente, per la gestione dei dati in una base di dati creando un set di record e le operazioni per operare su di esso. All interno di pagine ASP è possibile utilizzare l SQL standard per svolgere operazioni di insert, delete e update.. Un altra via, è utilizzare i metodi che RecordSet mette a disposizione. Supponiamo allora di voler inserire un record in una tabella della nostra base di dati. Dopo essersi connessi utilizzando Server.CreateObject("ADODB.recordset") e rst.open strprovider, per inserire un nuovo record basterà scrivere: rs. AddNew rs( Nome_campo1 )=valore1 rs( Nome_campo2 )=valore2. Rs.update Analogamente utilizzando il metodo: rs.delete elimineremo il record che si sta puntando (anche se è possibile specificare quale record cancellare). Un altro importante metodo è rs.close i che chiude la connessione stabilita con la base di dati su cui si sta operando. 183