Corso di Informatica Modulo T3 B2 - Database in rete



Похожие документы
Database e reti. Piero Gallo Pasquale Sirsi

Introduzione JDBC interfaccia java.sql driver caricare i driver

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

Introduzione all elaborazione di database nel Web

Corso di Informatica Modulo T3 B1 Programmazione web

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

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

Esercitazione su JDBC

JDBC versione base. Le classi/interfacce principali di JDBC

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

JDBC di base. Le classi/interfacce principali di JDBC

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

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

Programmazione Server Side e Database in rete

Corso Web programming

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

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

Caricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement

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

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

19. LA PROGRAMMAZIONE LATO SERVER

appunti delle lezioni Architetture client/server: applicazioni client

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

FileMaker 12. Guida ODBC e JDBC

APPUNTI SU ADO (ACTIVEX DATA OBJECTS)

Java: la libreria delle classi

Il Web Server e il protocollo HTTP

JDBC. A. Bechini Accesso a DataD con Java

Scheda 15 Accedere ai DataBase con JDBC

Applicazione ASP di esempio

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

Corso sul linguaggio SQL

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

Client - Server. Client Web: il BROWSER

Office e Applicativi sw

Lezione 9. Applicazioni tradizionali

Una metodologia di progettazione di applicazioni web centrate sui dati

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

sito web sito Internet

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione

Accesso Web a Data Base

Come funziona internet

Come trattare il risultato di un comando SQL (relazioni) che

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

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

Data Base in Internet

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

La tecnologia ASP.NET e i database

Corso di Informatica

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

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

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

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

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

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

Installazione del software Fiery per Windows e Macintosh

Siti interattivi e dinamici. in poche pagine

Protocolli e architetture per WIS

La rete Internet. Percorso di Preparazione agli Studi di Ingegneria. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Concetti base. Impianti Informatici. Web application

Funzioni scalari in SQL. Capitolo 5. coalesce. nullif. Altre funzioni scalari. case

Presentazione Data Base

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL

L evoluzione delle Applicazioni Distribuite

JDBC per l accesso Java a DB. Tito Flagella tito@link.it

Laboratorio di reti II: Gestione di database lato server

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

ITI M. FARADAY Programmazione modulare a.s

TCP/IP: INDIRIZZI IP SIMBOLICI

Esercitazione 8. Basi di dati e web

Corso di Informatica

Internet Architettura del www

Progettazione Web Applicazioni client-server

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

1. BASI DI DATI: GENERALITÀ

Installazione e caratteristiche generali 1

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Architettura client-server

ESERCITAZIONE Semplice creazione di un sito Internet

Introduzione. 8- Programmazione di una base di dati attraverso JDBC ESEMPIO

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

Corso di Web programming Modulo T3 A2 - Web server

Architetture e applicazioni web

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

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

SCHEDA DI PROGRAMMAZIONE DELLE ATTIVITA EDUCATIVE DIDATTICHE

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Транскрипт:

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 Basic 2 1

Introduzione Lo scopo di questa Unità è descrivere l evoluzione delle tecniche di interfacciamento tra i database e la rete. 3 Ipotesi di lavoro Prima di descrivere l evoluzione delle tecniche di interfacciamento di un database in rete, supponiamo di disporre di: 1. un modello di rete articolato su 7 livelli (standard OSI) con tecnologia Ethernet ed architettura client/server; 2. protocolli di rete di uso più comune: HTTP, FTP, SMTP e DNS (Application Layer); TCP (Transport Layer); IP (Network Layer); 3. linguaggio HTML come linguaggio standard per le pagine web; 4. linguaggio SQL come linguaggio standard di interrogazione. 4 2

Il database in rete 1. La macchina client invia l interrogazione mediante pagina HTML, tramite HTTP, al web server; 2. Il web server invia la query all SQL server, che restituisce come risposta una tabella dati al web server; 3. Il web server invia i dati in risposta al client mediante pagine HTML tramite HTTP. 5 Tecniche di interfacciamento Come si è arrivati a sviluppare queste tecnologie? Le interazioni tra DB e la rete si sono evolute attraverso le seguenti tecniche di interfacciamento: 1. primitivo; 2. basato sui trigger; 3. basato sul web server; 4. basato sul client; 5. trasversale. 6 3

1. Interfacciamento primitivo Modalità iniziale con cui si formulava la risposta da inviare al client. 1. il client invia la richiesta al server; 2. sul server un operatore umano esegue l interrogazione al database; 3. l operatore stesso inserisce i risultati della query in una pagina HTML che invia al client. Sono ovvi gli svantaggi in termini di tempo e di potenziali errori, dovuti alla presenza dell operatore umano. 7 2. Interfacciamento con trigger I trigger sono procedure eseguite in automatico al presentarsi di un dato evento. 1. una query preleva una quantità di un prodotto da una tabella MAGAZZINO; 2. un trigger si occupa di controllare che la quantità residua verifichi una condizione prevista (es. maggiore di 0); 3. in base alla condizione del punto 2, il trigger svolge una data azione (ad esempio, eccezione, riordino, ecc) e crea una pagina HTML di risposta. 8 4

3. Interfacciamento con ws Il web server (ws) può essere visto come un applicativo, che girando sul server e servendosi di un software apposito detto SQL server, funziona nel seguente modo (three-tier). Il ws: 1. riceve la richiesta, ad es. una query, via HTTP da parte del client; 2. invia i comandi SQL all SQL server; 3. riceve la risposta dall SQL server; 4. crea la pagina HTML con la risposta; 5. restituisce la pagina prodotta al web server, che la invia al client. 9 3. Interfacciamento con ws Rispetto alle tecniche precedenti, nell interfacciamento con web server la pagina da restituire potrebbe non trovarsi sul disco, ma venire creata dinamicamente al momento della richiesta. La tecnica è tipica delle pagine ASP (Microsoft), JSP (Java), servlet (Java) e pagine PHP. 10 5

4. Interfacciamento con client In questo caso il web server invia al client un applicativo che interagisce direttamente con l SQL server. Si noti che: non c è alcun intervento da parte del web server; la tecnica è quella tipicamente utilizzata con le applet Java (Oracle), o con i componenti ActiveX (Microsoft); il protocollo HTTP, una volta scaricato l applicativo sul client, non viene più coinvolto: i risultati possono essere formattati in un qualsiasi modo. 11 4. Interfacciamento con client Lo schema in questo caso è il seguente: 12 6

5. Interfacciamento trasversale È basato sulla tecnologia ODBC (Open Database Connectivity). L ODBC è un interfaccia software standard Microsoft che consente ai programmatori di applicazioni di interfacciarsi con qualsiasi database (che preveda i driver ODBC), mediante un qualunque linguaggio di programmazione, ODBC driver 13 5. Interfacciamento trasversale Attraverso la tecnologia ODBC è possibile: l interfacciamento in ambiente Windows e altri ambienti; accedere ad un database senza usare necessariamente un browser (è sufficiente un programma che faccia da client SQL); presentare i risultati della query anche in formato diverso dall HTML; l accesso a database anche NON in rete TCP/IP. 14 7

5. Interfacciamento trasversale esempio in Visual Basic Ad esempio, in Visual Basic, si usano i componenti ActiveX, come gli oggetti ADO (ActiveX Data Object) Set conn = New ADODB.Connection crea oggetto conn Set rs = New ADODB.Recordset crea oggetto recordset sintassi per il provider Jet e path del database fisico db strconn = "Provider = Microsoft.jet.oledb.4.0; Data Source=db.mdb" conn.open strconn apre la connessione con db rs.open nometabella, conn associazione tra recordset, connessione e tabella.. altre istruzioni Con l oggetto rs possiamo usare il cursore con i metodi MoveFirst(), MoveLast(), MoveNext(), MovePrevious() oppure una stringa SQL. 15 5. Interfacciamento trasversale esempio in Java Come ulteriore esempio, in Java l interfacciamento con un DB si ottiene mediante la tecnologia JDBC (Java DataBase Connectivity), della Sun Microsystem, che può interagire a sua volta con la piattaforma Microsoft mediante l ODBC, come mostrato nello schema. 16 8

5. Interfacciamento trasversale esempio in Java public static void main(string args[]) { String sql = "CREATE TABLE Bevande " + "(Nome VARCHAR(10), Costo INTEGER, Prezzo INTEGER)"; Statement stmt; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException cnf) { System.out.println("Classe non trovata"); } String url = "jdbc:odbc:accessdrv"; ODBC driver try { Connection conn = DriverManager.getConnection (url, "", ""); stmt = conn.createstatement(); stmt.executeupdate(sql); stmt.close(); conn.close(); } catch (Exception e) { System.out.println("Esistente"); } } // end main 17 5. Interfacciamento trasversale Per usare la tecnologia ODBC occorre: conoscere il tipo di DBMS installato sul server; reperire i driver ODBC relativi a quel DBMS; configurare il computer client, installando sul suo sistema operativo i driver ODBC del database da accedere. AccessDrv nell esempio precedente, indica appunto il nome assegnato al driver jdbc odbc, detto JDBC-ODBC Bridge 18 9

Argomenti Ipotesi di lavoro Il database in rete Tecniche di interfacciamento 1. Interfacciamento primitivo 2. Interfacciamento con trigger 3. Interfacciamento con ws 4. Interfacciamento con client 5. Interfacciamento trasversale 19 Altre fonti di informazione P.Gallo, F.Salerno Informatica Generale 3, ed. Minerva Italica A.Lorenzi, D. Rossi, Le basi di dati e il linguaggio SQL, ATLAS 2004 A.Lorenzi, A. Rizzi, Il linguaggio Java, ATLAS 2005 20 10