Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza è nell elaboratore centrale (host o mainframe) terminali utente applicazioni D B M G nodo elaborativo DB centralizzati Pag. 1 1
Architettura distribuita Un architettura è distribuita quando si verifica almeno una delle due condizioni Le applicazioni, fra loro cooperanti, risiedono su più nodi elaborativi: elaborazione distribuita Il patrimonio informativo (dati), unitario, è ospitato su più nodi elaborativi: base di dati distribuita D B M G 3 Architettura distribuita stazioni utente applicazioni nodo elaborativo applicazioni applicazioni nodo elaborativo DB nodo locali D M BG elaborativo 4 Pag. 2 2
Architettura distribuita È un insieme di nodi elaborativi connessi in qualche modo LAN - Local Area Network, WAN - Wide Area Network,... Ciascun nodo è in grado di comunicare con alcuni degli altri nodi I programmi in esecuzione su ciascun nodo sono in grado di condividere le proprie informazioni e di richiedere l esecuzione di altri programmi da parte di altri nodi D B M G 5 Architettura distribuita Diversi livelli di complessità Dipende dal livello di indipendenza dei nodi Vantaggi Miglioramento delle prestazioni Maggore disponibilità Migliore affidabilità D B M G 6 Pag. 3 3
Proprietà importanti Portabilità Capacità di spostare un applicazione da un sistema ad un altro sistema Garantita dallo standard SQL Interoperabilità Capacità di DBMS diversi di cooperare nell esecuzione di un determinato compito Sono necessari dei protocolli di interazione ODBC X-Open-DTP D B M G 7 Architettura distribuita Le applicazioni sono caratterizzate dal ruolo che svolgono nel sistema Cliente (Client): quando l applicazione utilizza dei servizi messi a disposizione da altre applicazioni Servente (Server): quando l applicazione fornisce servizi usati da altre applicazioni Attore (Actor): quando l applicazione in contesti diversi assume sia il ruolo di client sia il ruolo di D B M G 8 Pag. 4 4
Il paradigma client- Client: utente del servizio Server: fornitore del servizio Client e non hanno senso senza un protocollo di comunicazione che definisca le possibili interazioni fra client e specifichi i dettagli di ogni interazione definisca le condizioni di errore e le azioni da svolgere in conseguenza D B M G 9 Esempi di protocollo Servizio Client Protocollo World Wide Web Mozilla Firefox, Internet Explorer, Google Chrome, Opera, Hypertext Transfer Protocol (HTTP) Trasferimento di UNIX FTP, MS FTP, File Transfer file browser Web Protocol (FTP) Posta elettronica Eudora, Outlook, bowser Web Simple Mail Transfer Protocol (SMTP) D B M G 10 Pag. 5 5
Architettura client- Caso particolare di sistema distribuito L architettura più semplice e più diffusa Un client invia una richiesta ad un per l esecuzione di un compito (task) Un task può consistere semplicemente nel richiedere delle informazioni, o nell eseguire elaborazioni complesse Il può essere a sua volta il client di un altro servizio D B M G 11 Architettura client- Architettura a 2 livelli (2-Tier) Thick client contiene della logica applicativa DBMS consente l accesso ai dati CLIENT 1 CLIENTn DBMS SERVER DB D B M G 12 Pag. 6 6
Architettura client- Architettura a 3 livelli (3-Tier) Thin client il browser Application implementa la logica applicativa solitamente è anche un web DBMS Server consente l accesso ai dati CLIENT 1 CLIENTn APPLICATION SERVER DBMS SERVER DB D B M G 13 Esecuzione SQL Compile & Go La query viene inviata al La query viene compilata generazione del piano di esecuzione La query viene eseguita Il risultato viene restituito Efficace per l esecuzione di query non ripetitive Flessibile, adatta all esecuzione di SQL dinamico D B M G 14 Pag. 7 7
Esecuzione SQL Compile & Store La query viene inviata al La query viene compilata generazione del piano di esecuzione il piano di esecuzione viene memorizzato per un uso futuro La query viene eseguita Il risultato t viene restituito Efficiente per query ripetute Esecuzioni parametriche della stessa query D B M G 15 Architettura C/S: il World Wide Web Il Web è una ragnatela (grafo) di documenti Il mantiene localmente un insieme di documenti e su richiesta invia al client (browser Web) un documento testo, immagine, suono, filmato,... Alcuni tipi di script chiedono al di eseguire un programma (es. script PHP) D B M G 16 Pag. 8 8
Il World Wide Web Internet ISP Client ISP Transaction (s) Database Server(s) Web & authentication (s) LAN D B M G 17 Basi di Dati Le applicazioni Web D B M G Pag. 9 9
Workflow delle applicazioni Web L'utente Lutente definisce La query è L'agente Lagente risponde una query tramite inviata all'agente alla query utilizzando la query interface sul lato la sorgente dei dati Utente 1 2 3 Interfaccia Elaborazione lato client lato (browser) 6 5 4 Sorgente dei dati Il risultato della query è mostrato all'utente L'agente sul lato restituisce il risultato della query La sorgente dei dati restituisce il risultato della query D B M G 19 Workflow delle applicazioni Web Tutte le applicazioni Web fanno all'incirca le stesse cose: Forniscono un interfaccia per la richiesta di informazioni (query interface); es: ricerca in un database, richiesta di un file, acquisto di un libro, prenotazione di un volo aereo, Trasmettono al Web i dati dell'utente Eseguono l elaborazione lelaborazione dei dati sul lato (-side processing) eventualmente accedendo ad un database Trasmettono al client i risultati delle query D B M G 20 Pag. 10 10
Transazione statica Internet Web HTML files Client URL http request path display page http response send HTML browser TCP/IP file system D B M G 21 Transazione statica: asse dei tempi Browser Web t 0 t 1 t8 t 1 t 9 t 3 t 6 t 2 t 7 t 0 Disk access t 4 t 5 response time network transfer time total response time user think time D B M G 22 Pag. 11 11
Transazione dinamica Internet Web Application Client URL http request & POST data a command parameters display page http response send HTML logic browser TCP/IP application D M BG 23 Transazione dinamica: asse dei tempi Browser Web t 0 t 1 t8 t 1 t 9 t 3 t 6 t 2 t 7 t 0 Application t 4 application time t 5 total time total response time D B M G 24 Pag. 12 12
Transazione appoggiata su database Web Internet Application Database Client URL http &POST com- mand parameters query display page http send HTML data D M B browser TCP/IP application database G 25 Transazione su database: asse dei tempi Browser Web t 0 t 1 t 2 t 3 t 6 t 7 t8 t t t 9 t 0 t 1 Application t 4 t 5 Database application time database time total time total response time D M BG 26 Pag. 13 13