Titolo Dispensa. Sistemi Informativi sul Web

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Titolo Dispensa. Sistemi Informativi sul Web"

Transcript

1 Titolo Dispensa Sistemi Informativi sul Web a cura di: prof. Giuseppe Psaila

2 INTRODUZIONE Questo materiale affronta il problema della realizzazione di sistemi informativi basati sulla tecnologia del World Wide Web. Questi sistemi informativi sono in rapida evoluzione e le tecnologie usate sono anch'esse in rapida evoluzione, perciò i contenuti di questo materiale non sono da considerarsi delle certezze assolute. Tuttavia, le idee di base su cui si fondano le architetture Web non cambieranno nel prossimo futuro, pertanto i concetti fondamentali riportati qui avranno valenza per parecchi anni. In particolare, nel seguito vengono considerati i seguenti temi. Architetture client-server. Sono le architetture fondamentali su cui si basa la tecnologia web. Pertanto sono alla base di tutti i discorsi. Architettura fondamentale del web. Il web si basa sul protocollo HTTP, che forza un ben determinato modo di funzionare dei sistemi informativi basati sul web. Questo modo di funzionare e l'architettura fondamentale delle soluzioni per il web sono discusse. Architetture avanzate per i sistemi informativi basati sul web. I sistemi informativi sono in ogni caso applicazioni complesse che richiedono tecnologia complessa e l'integrazione di soluzioni tecnologiche eterogenee tra di loro. Questo è ancor più vero per i sistemi informativi basati sul web; le relative architetture software vengono discusse. I linguaggi di scripting. Una soluzione tecnica molto diffusa consiste nell'uso di linguaggi di scripting sul lato server. Si spiega questa tecnologia con alcuni esempi pratici.

3 APPLICAZIONI CLIENT-SERVER Un applicazione Client-Server è strutturata in due parti: sul lato server, risiede la parte più onerosa dell applicazione, come la base di dati o i programmi che richiedono operazioni complicate e lunghe; sul lato client, la gestione dell interfaccia utente, possibilmente basata su protocolli indipendenti dalla piattaforma; questo richiede quindi computer non particolarmente costosi, ma dotati di buoni dispositivi grafici, di buoni monitor e di dotazioni multimediali standard. Questa soluzione permette di: avere una sola macchina molto costosa e estremamente potente che funge da server; dotare ogni operatore di macchine piccole, poco costose, curate soprattutto per quanto riguarda l interazione con l utente. Storicamente, le architetture client-server non sono una novità. Negli anni '80 il mondo UnIX era caratterizzato da diverse piattaforme basate su questi concetti. L'esplosione del World Wide Web le ha riportate in auge, allargando a qualsiasi tipo di architettura hardware e software questi concetti, operando peraltro una forma di standardizzazione nel settore.

4 APPLICAZIONI CLIENT-SERVER SU WWW Ogni applicazione nata per operare in ambito WWW è per sua natura basata su un'architettura client-server. Esempio: applicazione statica. Una applicazione statica per WWW è un insieme di pagine HTML preparare una volta per tutte, dove ogni pagina richiama altre pagine HTML. Vediamo che cosa troviamo sui due lati dell'architettura. Lato server: il Web Server, un programma che riceve le richieste di pagine e invia le pagine ai richiedenti, attraverso il protocollo HTTP (Hyper Text Transfer Prtotocol) il disco fisso, che funge da base di dati delle pagine. Lato Client: il Web Browser (Netscape o Explorer o altro) che visualizza le pagine e interagisce con l utente. Richiesta Pagina Browser (Netscape o Explorer) Richiesta Pagina Web Server

5 La figura mostra il parallelo tra i componenti hardware e i componenti software coinvolti nell'architettura. In particolare, le evoluzioni dell'architettura lasceranno immutata l'organizzazione hardware, mentre cambierà l'organizzazione software. Rispetto a quanto appena visto, questa architettura di base è troppo limitante per poter costruire sistemi informativi complessi. La limitazione maggiore sta nel fatto che le pagine sono predeterminate a priori, quindi i loro contenuti non variano. Questo porta ai cosiddetti Siti Vetrina, cioè siti web il cui contenuto non viene mai aggiornato perché non è legato alle basi di dati dell'azienda stessa. Invece, i sistemi informativi e le applicazioni in generale devono gestire informazioni via via crescenti e mutevoli. Occorre quindi far evolvere l'architettura appena vista. Le applicazioni basate sul web devono quindi diventare reattive.

6 APPLICAZIONI CLIENT-SERVER SU WWW Nel caso in cui l applicazione deve essere reattiva,, si usa il protocollo CGI (Common Gateway Interface). Un programma CGI è un applicativo che viene invocato dal web server, su precisa richiesta del client. Tipicamente, questi programmi vengono invocati da un FORM (modulo) contenuto in una pagina HTML: un form contiene una serie di campi con i quali l'utente immette dei valori (per esempio, i propri dati personali, se sta sottoscrivendo un servizio fornito da qualche azienda, oppure sta facendo acquisti via Internet). L'elaborazione di questi dati deve essere fatta sul server, quindi la soluzione statica non basta più: il protocollo CGI serve per mandare ad un programma questi dati. Browser (Netscape o Explorer) Richiesta Pagina Web Server Richiesta Risposta Applicativo CGI Il programma CGI riceve dal Web Server le informazioni inviate dall'utente, elabora le informazioni, quindi produce la pagina HTML tante con i risultati dell'elaborazione, che viene spedita al client dal Web Server. Questa soluzione fornisce un notevole miglioramento, ma la memorizzazione dei dati è lasciata all'iniziativa del singolo programma CGI. Occorre poter sfruttare la tecnologia delle basi di dati.

7 APPLICAZIONI CLIENT-SERVER SU WWW Nel caso in cui l applicazione ha bisogno di accedere ad una base dati presente sul server, e` l applicativo CGI a dover interagire con il DBMS. Si ottiene così un'architettura chiamata 3-tier, perchè si formano 3 connessioni: una tra browser e web server, una tra web server e applicativo CGI, una tra applicativo CGI e DBMS. - Architettura 3-tier Browser (Netscape o Explorer) Richiesta Pagina Web Server Richiesta Risposta Applicativo CGI Query Risposta DBMS I vantaggi offerti da questa architettura sono notevoli. Infatti, è possibile sfruttare la tecnologia dei DBMS e le basi di dati stesse. Vediamo nel dettaglio. Il primo vantaggio pratico lo si ha nel fatto poter avere una fonte stabile per i dati. Funzionalità offerte dai DBMS quali il salvataggio periodico dei dati consentono di non dover reinventare l'acqua calda, con soluzioni posticce e inaffidabili basate su file. In secondo luogo, i meccanismi di protezione dei dati offerti dai database (transazioni) consentono di gestire accessi multipli e contemporanei ai dati (richieste HTTP provenienti da client diversi), garantendo la robustezza e la consistenza ei dati.

8 Nel caso in cui si vogliano costruire servizi e sistemi che integrano funzionalità legate al web con il sistema informativo interno all'azienda, questa architettura consente di usare gli stessi dati del sistema informativo aziendale per i sistemi web. Per esempio, servizi di commercio elettronico richiedono necessariamente di essere basati sulla base dati aziendale: innanzitutto, i listini dei prodotti venduti in forma elettronica devono essere gli stessi presenti nel sistema aziendale; in secondo luogo, una gestione totalmente elettronica delle transazioni di commercio elettronico richiede una forte integrazione tra le informazioni legate alle transazioni commerciali e le informazioni di natura contabile e logistica, normalmente gestite dai sistemi informativi aziendali. Morale: la base dati deve essere la stessa (almeno in parte).

9 STRUTTURA DI UNA APPLICAZIONE Vediamo quale è la struttura tipica di un applicazione o di un sistema informativo realizzato usando principalmente le tecnologie web. Lato client: un insieme di pagine HTML. possibilmente una serie di applet Java. Possibilmente una serie di client side script. Certamente, un'applicazione basata sul web è costituita da un'insieme di pagine HTML, che possono essere definite in modo statico oppure generate in modo dinamico da qualche programma basato sul protocollo CGI. Le pagine HTML sono però statiche, nel senso che non hanno al loro interno funzionalità di gestione procedurale dei campi dei form, né possono modificare in modo autonomo il loro contenuto. Per ovviare a questi problemi, si ricorre ad estensioni dell'html, tramite sue soluzioni: apple Java e client-side script. Un applet Java è un vero e proprio programma scritto nel linguaggio di programmazione Java, di recente diffusione. Java ha come caratteristica importante il fatto che i programmi Java sono indipendenti dalla piattaforma. Questo è possibile grazie al seguente meccanismo: Il compilatore Java compila il programma e lo traduce in un formato che non è il linguaggio macchina ma un formato di livello più alto, chiamato Byte Code. Un programma Byte Code non può essere eseguito direttamente, ma richiede uno specifico software, chiamato Java Virtual Machine; in questo modo il Byte Code è indipendente dal particolare hardware (set di istruzioni del micro-processore) e dal particolare sistema operativo. Il programma Byte Code può così essere eseguito su qualsiasi computer, purché sia disponibile la Java Virtual Machine per quel computer e quel sistema operativo.

10 Con queste caratteristiche, un programma Java può facilmente essere trasferito sulla rete. Nell'ambito dell'html, è possibile inserire questi programmi Java all'interno delle pagine HTML (questi programmi Java, pensati per lavorare nelle pagine HTML, prendono il nome di Applet); essendo programmi a tutti gli effetti, possono aggiungere funzionalità sofisticate alle pagine (per esempio, una vera e propria interfaccia interattiva all'interno della pagina). Tuttavia, questa soluzione presenta un problema di efficienza: essendo dei programmi, la loro dimensione può facilmente diventare significativa, quindi possono sorgere problemi legati ai lunghi tempi di trasferimento attraverso la rete. Per ovviare ai problemi della soluzione basata su Applet JAva, sono stati introdotti i client-side script. Uno script è un programma scritto in qualche linguaggio di programmazione di alto livello che non viene preventivamente compilato, ma interpretato durante l'esecuzione riga per riga. In particolare, se questi programmi/script vengono inseriti all'interno di pagine HTML e inviati al client per essere eseguiti all'interno del browser, prendono il nome di client-side script. Questa soluzione ha il vantaggio della semplicità tecnica, ma lo svantaggio della lentezza dell'esecuzione; pertanto, si presta bene se occorre aggiungere piccole funzionalità alla pagina HTML, per esempio controllare che tutti i campi obbligatori di un form siano stati inseriti, oppure verificare la correttezza dei formati dei dati (formato dei numeri, delle date, ecc.). In tal senso, sono due le principali tecnologie che vengono usate in questo momento come client-side script: sono Java-script e VB-script. Java -script è una variante semplificata e interpretata di Java, che viene riconosciuta, con qualche differenza, dai maggiori browser; VB-Script è la versione semplificata del Visual Basic di Microsoft e viene riconosciuta solo dal browser MS Internet Explorer.

11 Sul lato server troviamo: i programmi CGI, che devono interagire con il DBMS, scritti in un linguaggio di alto livello oppure i server-side script il DBMS con la sua base di dati. Per quanto riguarda i programmi CGI scritti in un linguaggio di alto livello, le soluzioni tipiche sono il C, il C++ e Java. In questo caso, i programmi devono gestire, o direttamente o attraverso librerie specifiche (come per Java), il protocollo CGI da un lato, mentre dall'altro devono connettersi a DBMS per gestire i dati. Questa soluzione va bene quando si devono realizzare sistemi informativi complessi. Per facilitare la realizzazione e ottenere architetture più modulari e meglio organizzate, si stanno diffondendo in questo momento gli Application Servers, che sono degli strumenti potenti, ma complessi da usare, per realizzare sistemi informativi complessi. Se invece si vogliono realizzare sistemi relativamente semplici, la soluzione di adottare i server-side script può essere una buona soluzione, che permette di realizzare il sistema in tempi abbastanza rapidi. Un server-side script è un programma, scritto in qualche linguaggio di alto livello, annegato all'interno di una pagina HTML. In questo modo, è possibile avere il controllo su quello che è l'output HTML che si genera eseguendo il programma. Un server-side script è eseguito sul server; viene invocato come se fosse una pagina web, attraverso l'url di richiesta della pagina; invece di essere una pagina HTML che viene spedita al client, il Web server deve prima eseguirla, interpretando il programma annegato al suo interno. Il risultao è HTML puro: al client non arrivano tracce del fatto che è stato eseguito un programma. I linguaggi più usati in questo momento come server-side script sono VBScript, proposto da Microsoft per il suo web server, e PHP, che nasce nel mondo UNIX e viene eseguito dal web server Apache. Nel seguito mostreremo alcuni esempi di server-side script, facendo riferimento alla proposta Microsoft, denominata ASP (Active Server Pages), che è appunto basata sull'uso di VBScript come linguaggio di programmazione..

12 INTERNET E INTRANET Che cosa sia il mondo Internet è ormai chiaro ai più; invece, non è chiaro che cosa sia il mondo Intranet. Per Intranet si intende una rete confinata all'interno di un sistema informativo aziendale e i relativi applicativi. In realtà, dal punto di vista tecnico non vi sono differenze: gli stessi protocolli e le stesse soluzioni tecniche adottate nel mondo Internet vanno bene anche per le Intranet. Quello che cambia è la filosofia progettuale delle applicazioni, perché cambiano le tipologie di utenti, i servizi da offrire e le velocità in gioco. Quando un'applicazione viene sviluppata in un ottica Internet, in genere si rivolge ad un insieme di utenti a priori sconosciuti, che cercano informazioni su un determinato servizio, che eventualmente vogliono avere dei servizi per i quali devono registrarsi e fornire i propri dati, ma che sono poco controllabili. Inoltre, possono essere da qualsiasi parte del mondo e non avere a disposizione versioni specifiche dei browser. Questo vuol dire che i sistemi Internet devono essere il più semplici possibile da usare (a prova di stupido), devono fornire solo le informazioni che si vogliono rendere disponibili, essere veloci da trasferire. I sistemi Intranet invece lavorano all'interno delle reti aziendali; quindi si sa bene quali utenti devono accedere al sistema e quali tipologie di informazioni e funzionalità (tipicamente differenziate da utente a utente) devono essere messe a disposizione dei singoli utenti. Di conseguenza, le applicazioni Intranet possono essere arricchite senza troppi problemi con applet Java e altri contenuti che richiedono elevate velocità di trasferimento. Inoltre, possono essere basate su architetture complesse sul lato server che permettono di gestire in modo efficace la complessa realtà aziendale (per esempio, gli Application Server).

13 ESEMPIO: CLIENTI E ARTICOLI Vediamo ora un esempio di completo di form, protocollo CGI, server-side script, basandoci su una piccola applicazione che consente di consultare un elenco di clienti e un elenco di articoli CREATE TABLE CLIENTI ( Codice int identity(1,1) primary key, Nome varchar(40) NOT NULL, Citta varchar(40) NOT NULL, Provincia char(2) NOT NULL ) CREATE TABLE ARTICOLI ( Codice varchar(10) primary key, Descr varchar(30) NOT NULL, Prezzo float(8) NOT NULL, Categoria varchar(10) NOT NULL ) Nel seguito, descriviamo le soluzioni tecnologiche specifiche e il modo fi funzionare del protocollo CGI.

14 PROTOCOLLO CGI Come detto, sttraverso il protocollo CGI, una pagina HTML può mandare dati e ricevere dati dal server. Vi sono due metodi di comunicazione. GET. Attraverso questo metodo, si accoda all URL un insieme di parametri con associato un preciso valore. Il programma lanciato sul server riceve questi parametri come variabili di ambiente. POST. Attraverso questo metodo, qualsiasi dato viene inviato al server come se fosse il contenuto di un messaggio di posta elettronica. Il programma lanciato sul server riceve il contenuto del messaggio sullo standard input. In entrambi i casi, il programma lanciato sul server risponde inviando dati o pagine sullo standard output. Il web server redirige opportunamente lo standard input e lo standard output del programma, in modo da gestire la comunicazione con il client.

15 PROTOCOLLO CGI: FORM Esempio: ricerca di articoli. Pagina HTML. <html> <head> <title>articoli da Cercare</title> </head> <body> <font face="verdana, Arial, Helvetica"> <form method="get" action="ricprezzo.asp"> <p>articoli da Cercare per Fascia di Prezzo</p> <p> Prezzo Minimo <input type="text" name="prezzomin" al="right"> </p> <p> Prezzo Massimo <input type="text" name="prezzomax"> </p> <p><input type="submit" value="invia" name="b1"> <input type="reset" value="reimposta" name="b2"></p> </form> </body> </html> In neretto sono state evidenziati gli elementi caratteristici che sono coinvolti nel processo di comunicazione. Nella pagina successiva, vediamo come compare il form nella finestra del browser.

16 PROTOCOLLO CGI: FORM Con il metodo GET: Le informazioni inserite nei campi della form vengono mandati al server costruendo l'url come segue dove RicPrezzo.asp è il server-side script invocato. Si noti che i valori dei campi prezzomin e prezzomax sono specificato dopo il punto interrogativo. Questa soluzione presenta due limiti: il primo è dato dal fatto che le informazioni viaggiano in chiaro; il secondo è dato dal limite di caratteri di un URL, che è di 128. Per ovviare a questi limiti, si può usare il metodo POST.

17 PROTOCOLLO CGI Che cosa riceve il programma sul server, con il metodo POST. Il programma riceve due variabili d'ambiente, una che indica il metodo utilizzato, l'altra che indica il numero di caratteri ricevuto. Variabili di ambiente REQUEST_METHOD = POST CONTENT_LENGTH = 25 I valori dei parametri arrivano sullo standard input del programma, nel modo seguente. prezzomin=10&prezzomax=20 Quindi il formato è lo stesso. Semplicemente i dati arrivano seguendo un canale diverso. Il programma pertanto opera così: legge la variabile di ambiente con il metodo, e riconosce che deve usare il POST; legge la variabile di ambiente ocn la lunghezza del messaggio; legge il messaggio dallo standard input, separando i vari campi; ora può aprire il database, preparare un comando SQL con l istruzione di inserimento, eseguire il comando, chiudere il database.

18 ESEMPIO: ELENCO CLIENTI Vediamo un esempio di server-side script scritto in VBScript, che viene invocato per avere un elenco di clienti. Come abbiamo anticipato, VBScript è la versione script del Visual Basic. La sua sintassi è semplice da capire e non comporterà problemi di lettura. Il programma che vediamo adesso deve produrre una pagina HTML in modo dinamico, creando un elenco di clienti con i dati prelevati dal database. Il nome del file che lo contiene è ElencoClienti.asp <html> <head> <title>elenco Clienti</title> </head> <p align="center">elenco Clienti</p> <% Set conn = Server.CreateObject("ADODB.Connection") conn.open "DEMO","Demo","demo" sql = "SELECT * FROM Clienti ORDER BY Nome" Set rs = Server.CreateObject("ADODB.Recordset") rs.open sql, conn %> </font><table width="100%" border="1"> <thead> <tr> <td><b>codice</b></td> <td><b>nome</b></td> <td><b>citta</b></td> <td><b>provincia</b></td> </tr> </thead> <tbody>

19 <% rs.movefirst while Not rs.eof %> <tr> <td> <%=rs.fields("codice").value%> </td> <td> <%=rs.fields("nome").value%> </td> <td> <%=rs.fields("citta").value%> </td> <td> <%=rs.fields("provincia").value%> </td> </tr> <% rs.movenext wend%> </tbody> </table> <p><a href="index.html">home Page</a></p> </body> </html> Si può notare che il programma è racchiuso all'interno di segmenti delimitati da <% e %>: quando il web server incontra questi blocchi, sospende l'invio del codice HTML al client e interpreta il codice VBScript. Nel caso di cicli (while... wend), si noti che il codice HTML al loro interno viene rigenerato tante volte quante volte viene eseguito il ciclo. In questo modo, è possibile scrivere un programma che genera HTML, avendo sempre sott'occhio che cosa genera.

20 ESEMPIO: ELENCO CLIENTI Il programma, una volta eseguito, produce una pagina HTML che contiene la seguente schermata.

21 PASSI OBBLIGATI Vediamo i passi (obbligati) che devono essere svolti dal programma per poter svolgere il lavoro richiesto. Creare un oggetto connessione con il database Set conn = Server.CreateObject("ADODB.Connection") Per accedere al database occorre creare una "connessione"; le connessioni vengono gestite tramite opportune variabili, che vengono create sul server per mezzo di una libreria apposita (ADODB.Connection"). Aprire la connessione con il database conn.open "DEMO","Demo","demo" Attraverso la variabile appena creata, la connessione deve essere aperta. Servono 3 parametri: il nome del canale di comunicazione con il DBMS (che prende il nome di connessione ODBC), il nome dell'utente e la password di quell'utente. Nell'esempio la connessione ODBC prende il nome di DEMO, l'utente ha nome Demo, la sua password è demo. Preparare la query sql = "SELECT * FROM Clienti ORDER BY Nome" Il database può essere interrogato solo per mezzo di query in SQL. Una variabile stringa viene inizializzata con il il codice SQL della query. Creare un Record Set (o cursore) Set rs = Server.CreateObject("ADODB.Recordset") Per eseguire la query occorre creare una variabile in grado di gestire l'esecuzione della query e scandire le righe nella tabella risultate. Questa variabile viene chiamata record set, ed è gestita da una libreria apposita.

22 Aprire il Record Set (con esecuzione dela query) rs.open sql, conn La query deve essere eseguita. Tecnicamente, questa operazione viene chiamata apertura del record set. Si osservi che oltre alla stringa con la query da eseguire, si deve fornire anche la variabile che gestisce la connessione aperta con il database. Scandire il Record Set rs.movefirst, rs.movenext Il record set va scandito, riga per riga, per ottenere i valori dei singoli attributi (campi). In particolare l'istruzione rs.fields("codice").value restituisce il valore dell'attributo Codice della riga corrente. Dato che questo valore deve essere inserito nell'html prodotto, questo può essere fatto nel modo seguente (si noti l'uguale dopo <%) <%=rs.fields("codice").value%>

23 CONNESSIONI ODBC Il problema di collegare un programma ad un DBMS per poter accedere ai dati è un problema di vecchia data, risolto dai produttori di DBMS in varia maniera. Negli anni scorsi è finalmente stato definito uno standard, chiamato ODBC (Open Database Connectivity). Si tratta di un'interfaccia di livello abbastanza basso che consente di collegarsi ad un qualsiasi DBMS in modo semplice e trasparente. Una connessione ODBC infatti preimposta i parametri che servono per collegarsi con uno specifico DBMS e uno specifico database, gestendo direttamente la macchina che ospita il DBMS, che a questo punto può essere una qualsiasi macchina e un qualsiasi DBMS. Il programma che deve accedere ai dati, semplicemente invoca la connessione ODBC, invia il codice SQL e riceve i risultati delle query. Se le impostazioni della connessione ODBC vengono cambiate, per esempio si cambia il DBMS e/o il database, il programma non se ne accorge. Un elemento importante del protocollo ODBC è la trasparenza rispetto alle varianti dell'sql. Infatti, benché SQL sia di per se uno standard internazionale, vi sono piccole differenze tra i vari DBMS. Lo scopo del protocollo ODBC è anche quello di gestire queste piccole differenze, senza che il programma debba cambiare cambiando DBMS.

24 ESEMPIO: ELENCO ARTICOLI Vediamo ora il file RicPrezzo.asp che viene invocato dal form HTML precedentemente presentato. Ricordiamoci che questo programma riceve i parametri che indicano il prezzo minimo e il prezzo massimo richiesti. <p align="center">elenco Degli Articoli</p> <% PrezzoMin = Request.QueryString("prezzomin") PrezzoMax = Request.QueryString("prezzomax") %> <p align="center">con prezzo da <%=cstr(prezzomin)%> a <%=cstr(prezzomax)%></p> <% Set conn = Server.CreateObject("ADODB.Connection") conn.open "DEMO","Demo","demo" sql = "SELECT * FROM Articoli" sql = sql & " WHERE Prezzo >=" & cstr(prezzomin) sql = sql & " AND Prezzo <=" & cstr(prezzomax) sql = sql & " ORDER BY Descr" %> Set rs = Server.CreateObject("ADODB.Recordset") rs.open sql, conn

25 ESEMPIO: ELENCO ARTICOLI Il programma produce la seguente tabella, estratta dalla pagina HTML complessiva generata. Rispetto al programma che genera l'elenco dei clienti, questo deve leggere le informazioni inviate con il metodo GET. Questo lavoro è fatto dal seguente frammento di codice. PrezzoMin = Request.QueryString("prezzomin") PrezzoMax = Request.QueryString("prezzomax") Attraverso la funzione QueryString, si richiede il valore del campo prezzomin (e prezzomax); il valore viene assegnato alle variabili omonime alla destra dell'uguale.

26 Successivamente, occorre costruire la query sql = "SELECT * FROM Articoli" sql = sql & " WHERE Prezzo >=" & cstr(prezzomin) sql = sql & " AND Prezzo <=" & cstr(prezzomax) sql = sql & " ORDER BY Descr" Si noti che il valore delle variabili viene inserito nella stringa che contiene la query. Se il programma viene invocato con i valori 10 e 20, la query SQL alla fine sarà SELECT * FROM Articoli WHERE Prezzo >=10 AND Prezzo <=20 ORDER BY Descr

27 METODO POST Nel caso in cui il programma viene invocato con il metodo POST, occorre usare una funzione diversa per leggere i valori dei campi del form. Le due righe del precedente programma che leggono i valori dei campi diventerebbero le seguenti. PrezzoMin = Request.Form("prezzomin") PrezzoMax = Request.Form("prezzomax") dove al posto della funzione QueryString si usa la funzione Form. Questa differenza si giustifica per il fatto che la fonte dei dati è diversa, in accordo alla specifica del protocollo CGI. Si può comunque notare come il VBScript mettà a disposizione la libreria Request per accedere ai campi inviati dal form, senza lasciando quindi trasparente al programma il funzionamento del protocollo CGI.

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

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

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

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

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

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

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

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

Programmazione Web. Introduzione

Programmazione Web. Introduzione Programmazione Web Introduzione 2014/2015 1 Un'applicazione Web (I) 2014/2015 Programmazione Web - Introduzione 2 Un'applicazione Web (II) 2014/2015 Programmazione Web - Introduzione 3 Un'applicazione

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

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

Pagine Asp. Pagine Asp

Pagine Asp. Pagine Asp Pagine Asp Architettura web Esistono alcune limitazioni alle applicazioni che si possono realizzare in HTML, ad esempio non è possibile costruire un sito web che consenta all utente di accedere ai dati

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

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB Per visualizzare i dati di una tabella in una pagina web, dobbiamo utilizzare l'oggetto ADODB.Recordset

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

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Come funziona internet

Come funziona internet Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa

Dettagli

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

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB Per visualizzare i dati di una tabella in una pagina web, dobbiamo utilizzare l'oggetto ADODB.Recordset

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

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

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

Data Base in Internet

Data Base in Internet Data Base in Internet Esempio di applicazione ASP Prof. Claudio Maccherani Un applicazione che interroghi un database remoto in un server Web è scritta in ASP (Active Server Page) se piattaforma NT / IIS

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

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

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

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

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 1. Introduzione a Internet e al WWW Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica

Dettagli

Corso Web programming

Corso Web programming Corso Web programming Modulo T3 A1 Modelli di programmazione 1 Prerequisiti Concetto di rete Processi e thread Concetti generali sui database 2 1 Introduzione Un particolare ambito della programmazione

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

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

Dettagli

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

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato VBScript Visual Basic Scripting Edition 1 VBScript Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato 2 Pag. 1 Principali caratteristiche Fine istruzione singola

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

A. Lorenzi Pagine ASP

A. Lorenzi Pagine ASP Pagine ASP Web server software per la gestione di un computer host Internet oppure di un server di rete, che mette a disposizione dati o applicativi per gli utenti della rete Web server IIS (Internet Information

Dettagli

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

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

Progettazione Web Applicazioni client-server

Progettazione Web Applicazioni client-server Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver

Dettagli

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

LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB Come nella lezione precedente, dovendo visualizzare i dati di una tabella

Dettagli

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Laboratorio Progettazione Web PHP e FORMs HTML Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Struttura Applicazioni Web Browser Web HTTP Server Web API Dati Presentation Application Storage

Dettagli

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013 Corso di HTML Modulo L3 1-Concetti generali 1 Prerequisiti Browser Rete Internet Client e server 2 1 Introduzione In questa Unità introduciamo alcuni semplici elementi del linguaggio HTML, con il quale

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

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

Introduzione al Web. dott. Andrea Mazzini

Introduzione al Web. dott. Andrea Mazzini Introduzione al Web dott. Andrea Mazzini Il servizio World Wide Web Il servizio Web è basato su particolari computer presenti nella rete, indicati come nodi Web, che rendono disponibili le informazioni

Dettagli

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET 18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso ai database

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

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

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

Facendo clic su parole, immagini e icone si può passare da un sito all'altro.

Facendo clic su parole, immagini e icone si può passare da un sito all'altro. I browser Introduzione Facendo clic su parole, immagini e icone si può passare da un sito all'altro. Ogni pagina web è un documento ipertestuale, caratterizzato da un proprio indirizzo denominato URL (Uniform

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

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

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

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

Dettagli

La realizzazione di WebGis con strumenti "Open Source".

La realizzazione di WebGis con strumenti Open Source. La realizzazione di WebGis con strumenti "Open Source". Esempi di impiego di strumenti a sorgente aperto per la realizzazione di un Gis con interfaccia Web Cos'è un Web Gis? Da wikipedia: Sono detti WebGIS

Dettagli

Sme.UP Web Application

Sme.UP Web Application Sme.UP Web Application Web Application Web.UP Una interfaccia web per i vostri dati gestionali Il modulo applicativo Web.UP fornisce al progettista di siti Internet una serie di potenti strumenti per l'integrazione

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

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

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Le Reti Informatiche

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

Dettagli

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

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

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

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

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

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

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

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

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

Esercitazione su JDBC

Esercitazione su JDBC Esercitazione su JDBC Basi di Dati L Ingegneria dei Processi Gestionali (Ilaria Bartolini - Roberto Cabras) come usare SQL (1) Le istruzioni SQL possono essere eseguite interattivamente Ese JDBC 2 come

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Internet e le reti. Navigare in rete. Un po di confusione sui termini. Internet WWW Web Servizi i Internet Sito Internet. Sinonimi?!?

Internet e le reti. Navigare in rete. Un po di confusione sui termini. Internet WWW Web Servizi i Internet Sito Internet. Sinonimi?!? Internet e le reti Navigare in rete Un po di confusione sui termini Internet WWW Web Servizi i Internet t Sito Internet Sinonimi?!? E che relazione c è con altri strumenti come la posta elettronica? Corso

Dettagli

3. Programmazione con le pagine ASP classiche

3. Programmazione con le pagine ASP classiche LIBRERIA WEB 3. Programmazione con le pagine ASP classiche 1. Le pagine ASP in generale ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server,

Dettagli

Architetture Web: un ripasso

Architetture Web: un ripasso Architetture Web: un ripasso Pubblicazione dinamica di contenuti. Come si fa? CGI Java Servlet Server-side scripting e librerie di tag JSP Tag eseguiti lato server Revisione critica di HTTP HTTP non prevede

Dettagli

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

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB Accesso a basi di dati con ASP 1 Algoritmo per visualizzare un DB 1. creare una connessione tra lo script ASP e il database 2. Costruire una QUERY in linguaggio SQL che opera sul database 3. Recuperare

Dettagli

Corso Creare Siti WEB

Corso Creare Siti WEB Corso Creare Siti WEB INTERNET e IL WEB Funzionamento Servizi di base HTML CMS JOOMLA Installazione Aspetto Grafico Template Contenuto Articoli Immagini Menu Estensioni Sito di esempio: Associazione LaMiassociazione

Dettagli

Stack protocolli TCP/IP

Stack protocolli TCP/IP Stack protocolli TCP/IP Application Layer Transport Layer Internet Layer Host-to-Nework Layer DNS SMTP Telnet HTTP TCP UDP IP Insieme di eterogenei sistemi di rete... 1 Concetti base Differenza tra i concetti

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. SISTEMI E RETI Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. CRITTOGRAFIA La crittografia è una tecnica che si occupa della scrittura segreta in codice o cifrata

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

venerdì 31 gennaio 2014 Programmazione Web

venerdì 31 gennaio 2014 Programmazione Web Programmazione Web WWW: storia Il World Wide Web (WWW) nasce tra il 1989 e il 1991 come progetto del CERN di Ginevra affidato a un gruppo di ricercatori informatici tra i quali Tim Berners- Lee e Robert

Dettagli

Informatica per la comunicazione" - lezione 9 -

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

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Quesiti 6 e 7) - 9 - Creiamo il file query4.php su una piattaforma OPEN SOURCE usando in linguaggio PHP ospitato su un webserver APACHE per interrogare un database MYSQL. Tale file verrà attivato cliccando

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

Architetture e applicazioni web

Architetture e applicazioni web Architetture e applicazioni web L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Cosa è un'applicazione web E' un particolare tipo di applicazione che si appoggia sulle tecnologie,

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

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Web Programming Specifiche dei progetti

Web Programming Specifiche dei progetti Web Programming Specifiche dei progetti Paolo Milazzo Anno Accademico 2010/2011 Argomenti trattati nel corso Nel corso di Web Programming sono state descritti i seguenti linguaggi (e tecnologie): HTML

Dettagli

JDBC. A. Bechini 2004. Accesso a DataD con Java

JDBC. A. Bechini 2004. Accesso a DataD con Java JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione

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

Corso di Informatica

Corso di Informatica Corso di Informatica CL3 - Biotecnologie Orientarsi nel Web Prof. Mauro Giacomini Dott. Josiane Tcheuko Informatica - 2006-2007 1 Obiettivi Internet e WWW Usare ed impostare il browser Navigare in internet

Dettagli

Le mie immagini su WEB: l ABC per iniziare. 6 maggio 2008

Le mie immagini su WEB: l ABC per iniziare. 6 maggio 2008 Le mie immagini su WEB: l ABC per iniziare 6 maggio 2008 1 1) Le nostre immagini su internet; perchè? 2) il WEB...il pc di chi accede (il client)...il sito (server); 3) costruzione del sito (design, strumenti

Dettagli