Basididati Architetturaclient/server - DataBase and Data ...

12
1 Pag. 1 Basi di dati Architettura client/server @2011 Politecnico di Torino D B M G Basi di Dati Architetture Client/Server 1 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) nodo elaborativo applicazioni DB centralizzati terminali utente 2

Transcript of Basididati Architetturaclient/server - DataBase and Data ...

Page 1: Basididati Architetturaclient/server - DataBase and Data ...

1

Pag. 1

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG

Basi di Dati

Architetture Client/Server

1

DBMG

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)

nodo elaborativo

applicazioni

DBcentralizzati

terminaliutente

2

Page 2: Basididati Architetturaclient/server - DataBase and Data ...

2

Pag. 2

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG

Architettura distribuita

Un’architettura è distribuita quando si verifica almeno una delle due condizioni

Le applicazioni, fra loro cooperanti, risiedono su più nodi elaborativi: elaborazione distribuitaIl patrimonio informativo (dati), unitario, è ospitato su più nodi elaborativi: base di dati distribuita

3

3

DBMG

Architettura distribuita

4

nodo elaborativo

applicazioni

DBlocali

stazioniutente

nodo elaborativo

applicazioni nodo elaborativo

applicazioni

4

Page 3: Basididati Architetturaclient/server - DataBase and Data ...

3

Pag. 3

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG5

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

5

DBMG6

Architettura distribuita

Diversi livelli di complessitàDipende dal livello di indipendenza dei nodi

VantaggiMiglioramento delle prestazioniMaggore disponibilitàMigliore affidabilità

6

Page 4: Basididati Architetturaclient/server - DataBase and Data ...

4

Pag. 4

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG7

Proprietà importanti

PortabilitàCapacità di spostare un’applicazione da un sistemaad un altro sistemaGarantita dallo standard SQL

InteroperabilitàCapacità di DBMS diversi di cooperarenell’esecuzione di un determinato compitoSono necessari dei protocolli di interazione

ODBCX-Open-DTP

7

DBMG

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 applicazioniServente (Server): quando l’applicazione fornisce servizi usati da altre applicazioniAttore (Actor): quando l’applicazione in contesti diversi assume sia il ruolo di client sia il ruolo di server

8

8

Page 5: Basididati Architetturaclient/server - DataBase and Data ...

5

Pag. 5

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG

Il paradigma client-server

Client: utente del servizioServer: fornitore del servizioClient e server non hanno senso senza un protocollo di comunicazione che

definisca le possibili interazioni fra client e serverspecifichi i dettagli di ogni interazionedefinisca le condizioni di errore e le azioni da svolgere in conseguenza

9

9

DBMG

Esempi di protocollo

10

Servizio Client Protocollo

World Wide Web

Mozilla Firefox, Internet Explorer, Google Chrome,

Opera, …

Hypertext Transfer Protocol (HTTP)

Trasferimento di file

UNIX FTP, MS FTP, browser Web

File Transfer Protocol (FTP)

Posta elettronica Eudora, Outlook, bowser Web

Simple Mail Transfer Protocol

(SMTP)

10

Page 6: Basididati Architetturaclient/server - DataBase and Data ...

6

Pag. 6

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG

Architettura client-server

Caso particolare di sistema distribuitoL’architettura più semplice e più diffusa

Un client invia una richiesta ad un server per l’esecuzione di un compito (task)

Un task può consistere semplicemente nel richiedere delle informazioni, o nell’eseguire elaborazioni complesse

Il server può essere a sua volta il client di un altro servizio

11

11

DBMG12

Architettura client-server

Architettura a 2 livelli (2-Tier)Thick client

contiene della logica applicativaDBMS server

consente l’accesso ai dati

DB

CLIENT1 CLIENTn

DBMS SERVER

12

Page 7: Basididati Architetturaclient/server - DataBase and Data ...

7

Pag. 7

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG13

Architettura client-server

Architettura a 3 livelli (3-Tier)Thin client

il browserApplication server

implementa la logica applicativasolitamente è anche un web server

DBMS Serverconsente l’accesso ai dati

DBMS SERVER

DB

CLIENT1 CLIENTn

APPLICATION SERVER

13

DBMG

Workflow delle applicazioni Web

14

UtenteInterfaccialato client(browser)

Elaborazionelato server

Sorgentedei dati

L'utente definisceuna query tramitela query interface

La query èinviata all'agente

sul lato server

L'agente rispondealla query utilizzandola sorgente dei dati

La sorgente dei datirestituisce il risultato

della query

L'agente sul latoserver restituisce il

risultato della query

Il risultato dellaquery è

mostrato all'utente

1 2 3

456

14

Page 8: Basididati Architetturaclient/server - DataBase and Data ...

8

Pag. 8

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG15

Esecuzione SQL

Compile & GoLa query viene inviata al serverLa query viene compilata

generazione del piano di esecuzioneLa query viene eseguitaIl risultato viene restituito

Efficace per l’esecuzione di query non ripetitiveFlessibile, adatta all’esecuzione di SQL dinamico

15

DBMG16

Esecuzione SQL

Compile & StoreLa query viene inviata al serverLa query viene compilata

generazione del piano di esecuzioneil piano di esecuzione viene memorizzato per un usofuturo

La query viene eseguitaIl risultato viene restituito

Efficiente per query ripetuteEsecuzioni parametriche della stessa query

16

Page 9: Basididati Architetturaclient/server - DataBase and Data ...

9

Pag. 9

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG

Architettura C/S: il World Wide Web

Il Web è una ragnatela (grafo) di documentiIl server 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 server di eseguire un programma (es. script PHP)

17

17

DBMG

Il World Wide Web

18

Internet

LAN

Client

Web &authentication

server(s)

Transactionserver(s)

DatabaseServer(s)ISP

ISP

18

Page 10: Basididati Architetturaclient/server - DataBase and Data ...

10

Pag. 10

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG

Basi di Dati

Le applicazioni Web

19

DBMG

Workflow delle applicazioni Web

20

UtenteInterfaccialato client(browser)

Elaborazionelato server

Sorgentedei dati

L'utente definisceuna query tramitela query interface

La query èinviata all'agente

sul lato server

L'agente rispondealla query utilizzandola sorgente dei dati

La sorgente dei datirestituisce il risultato

della query

L'agente sul latoserver restituisce il

risultato della query

Il risultato dellaquery è

mostrato all'utente

1 2 3

456

20

Page 11: Basididati Architetturaclient/server - DataBase and Data ...

11

Pag. 11

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG

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 server i dati dell'utenteEseguono l’elaborazione dei dati sul lato server (server-side processing) eventualmente accedendo ad un databaseTrasmettono al client i risultati delle query

21

21

DBMG

Transazione statica

22

Client

Web serverInternet

URLhttp request

HTMLfiles

http responsedisplaypage

TCP/IP

path

browser server file system

HTMLsend

22

Page 12: Basididati Architetturaclient/server - DataBase and Data ...

12

Pag. 12

Basi di dati Architettura client/server

@2011 Politecnico di Torino

DBMG

Transazione dinamica

23

Client

Web serverInternet

URLhttp request& POST data

http responsedisplaypage

TCP/IP

com-mand

browser server application

HTMLsend

Application

para-meters

logic

23

DBMG

Transazione appoggiata su database

24

Client

Web serverInternet

URLhttp

& POST

httpdisplaypage

TCP/IP

com-mand

browser server application

HTMLsend

Application

para-meters

database

data

Database

query

24