+ All Categories
Home > Documents > Architettura Client-Server -...

Architettura Client-Server -...

Date post: 09-Aug-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
32
DB e Web Corso di Informatica Applicata © 2003 - Cesare Colombo 1 Informatica Applicata Informatica Applicata Consorzio per la formazione e la ricerca in Ingegneria dell'Info Consorzio per la formazione e la ricerca in Ingegneria dell'Informazione rmazione Database e Web Database e Web Pi Più siamo e pi siamo e più ci divertiamo... ci divertiamo... «The Value of a Network grows as the square of the Number of its Users.» — Bob Metcalfe Docente: Docente: Cesare Colombo Cesare Colombo CEFRIEL CEFRIEL [email protected] [email protected] http://www.cefriel.it http://www.cefriel.it Informatica Applicata Informatica Applicata Consorzio per la formazione e la ricerca in Ingegneria dell'Info Consorzio per la formazione e la ricerca in Ingegneria dell'Informazione rmazione Architettura Architettura Client Client- Server Server
Transcript
Page 1: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 1

Informatica ApplicataInformatica Applicata

Consorzio per la formazione e la ricerca in Ingegneria dell'InfoConsorzio per la formazione e la ricerca in Ingegneria dell'Informazionermazione

Database e WebDatabase e WebPiPiùù siamo e pisiamo e piùù ci divertiamo...ci divertiamo...

«The Value of a Network grows as the square of the Number of its Users.»

— Bob Metcalfe

Docente:Docente:Cesare ColomboCesare Colombo

[email protected]@cefriel.it

http://www.cefriel.ithttp://www.cefriel.it

Informatica ApplicataInformatica Applicata

Consorzio per la formazione e la ricerca in Ingegneria dell'InfoConsorzio per la formazione e la ricerca in Ingegneria dell'Informazionermazione

Architettura Architettura ClientClient--ServerServer

Page 2: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 2

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 33 --

Riassunto...Riassunto...

• Fattura

• Scheda fornitore

• Ordine

• Scheda cliente

• Scheda prodotto

Informazioni Dati Servizi

DBMS - sistema software in grado di:• Gestire collezioni di dati che siano

grandi, condivise, persistenti• Assicurando Affidabilità, Privatezza• In modo Efficiente ed Efficace

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 44 --

Architettura di un DBMS (1)Architettura di un DBMS (1)

Quasi tutti i DBMS hanno un’architettura distribuita(caratterizzata dalla presenza di una rete)Architettura client-server: modello di interazione tra processi software in cui i processi si dividono in Client e Server (è la piùsemplice e diffusa)

ClientRichiedono i serviziDedicati a interagire con l’utente finaleRuolo attivo: genera richieste

ServerOffrono i serviziRuolo reattivo: si limita a rispondere alle richieste dei diversi client

L’interazione fra client e server richiede una interfaccia di servizi: elenco dei servizi messi a disposizione dal server

Page 3: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 3

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 55 --

Architettura di un DBMS (2)Architettura di un DBMS (2)

Tutte queste architetture sono comunque caratterizzate da un (o più) database server

E’ un sistema dedicato alla gestione dei dati, in grado di rispondere alle richieste provenienti da diversi utenti

Client

Client

Client

DatabaseServer

Basedi Dati

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 66 --

Motivi uso Motivi uso ClientClient--ServerServer (1)(1)

Le funzioni di client e server sono ben definiteC’è una corrispondenza con le competenze e le professionalità degli utenti

Programmatore Applicativo: ha la responsabilità di gestire il software relativo al clientAmministratore: deve organizzare la base dati sul server per garantire prestazioni ottimali a tutti i client

Diverse esigenze di hardwareIl client è un elaboratore adatto alla interazione con l’utente

Strumenti di produttivitàApplicazioni “amichevoli” che accedono alla base dati

Il server è dimensionato in base ai servizi che deve offrireAmpia memoria centrale e dispositivi di memoria di massaefficienti e robusti

Page 4: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 4

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 77 --

Motivi uso Motivi uso ClientClient--ServerServer (2)(2)

Il linguaggio SQL offre una interfaccia standard ed efficiente per l’interazione fra client e server

1. Il client richiede i dati tramite SQLSELECT autore FROM libri where titolo=“Harry Potter”

2. Il server esegue le operazioni dell’interrogazione3. Il risultato è restituito al client

Client DatabaseServer

Basedi Dati

2.1.

3.

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 88 --

Architettura a 2 livelliArchitettura a 2 livelli

L’architettura vista fino ad ora è detta a due livelli (two tier)

Il client ha funzioni sia di interfaccia che di gestione dell’applicazioneIl server ha funzione di gestione dei dati

Page 5: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 5

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 99 --

Architettura a 3 livelliArchitettura a 3 livelli

Nell’architettura three-tier è presente un secondo server, il server applicativo, responsabile di gestire la logica applicativa comune a più clientIl client è più semplice e si occupa solo dell’interfacciamento con l’utente finale (thinclient)

Il client invia le richieste al server applicativoIl server applicativo dialoga con il server per la gestione dei dati

Questa architettura è predisposta per Internet

CLIENT = BROWSER WEB

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1010 --

Il fenomeno InternetIl fenomeno Internet

La rapida evoluzione di Internet e la sua evoluzione costituiscono uno dei fenomeni più significativi dell’informatica

Per raggiungere 50.000.000 di utenti in USA:

Fonte: NUA, Morgan Stanley

Ad agosto 2002: più di 553 milioni di persone nel mondo hanno accesso a internet.

Fonte: Nielsen-Netratings

4 anniInternet

16 anniPC

13 anniTV

38 anniRadio

Page 6: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 6

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1111 --

... in Italia... in Italia

Utenti Internet in Italia dal 1997-2002:

Fonte: http://www.gandalf.it/

Numeriin migliaia

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1212 --

Web Web InformationInformation SystemsSystems

Il World Wide Web (una delle tecnologie di Internet) nasce come sistema per la distribuzione e l’accesso di documenti ipertestuali e multimedialiIl Web diventa la piattaforma per lo sviluppo di sistemi informativi di ogni genere accessibili tramite un browser: Web Information Systems (WIS)Nel seguito esamineremo:

I concetti fondamentali di InternetLe tecnologie per presentare i contenuti di una base di dati sul WebLe architetture che consentono di operare su Internet

Page 7: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 7

Informatica ApplicataInformatica Applicata

Consorzio per la formazione e la ricerca in Ingegneria dell'InfoConsorzio per la formazione e la ricerca in Ingegneria dell'Informazionermazione

Internet: concetti fondamentaliInternet: concetti fondamentali

Reti di elaboratori e nascita della rete InternetReti di elaboratori e nascita della rete InternetCaratteristiche peculiari di InternetCaratteristiche peculiari di Internet

World World WideWide WebWebHTMLHTML

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1414 --

Reti di elaboratori e nascita della rete InternetReti di elaboratori e nascita della rete Internet

PerchPerchéé una rete?una rete?

Con “rete di elaboratori” si intende un insieme di calcolatori indipendenti interconnessi tra loro in modo da potersi scambiare informazioni

Non consideriamo quindi il collegamento tra un mainframe e dei “terminali stupidi”.

Perché connettere i calcolatori in rete?condivisione risorseapplicazioni telematichemaggiore affidabilitàmigliore rapporto costi/prestazioni

Page 8: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 8

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1515 --

Reti di elaboratori e nascita della rete InternetReti di elaboratori e nascita della rete Internet

PerchPerchéé Internet?Internet?

È utile interconnettere i calcolatori su una rete……ma allora può essere utile anche interconnettere le reti stesse!

Una “rete di reti” è una internetwork (o internet).La più grande rete di reti, che interconnette un numero enorme di reti su scala planetaria, è Internet(con la “I” maiuscola!)

Le reti da interconnettere possono essere eterogenee e utilizzare tecnologie diverse, per cui mettere in comunicazione calcolatori su reti diverse è un problema complesso: la tecnologia che risolve questo problema è l’internetworking

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1616 --

Reti di elaboratori e nascita della rete InternetReti di elaboratori e nascita della rete Internet

InternetInternet: definizione dell: definizione dell’’FNCFNC

"Internet" refers to the global information system thatis logically linked together by a globally unique address space based on the Internet Protocol (IP) or its subsequentextensions/follow-ons

e’ collegato da un unico spazio di indirizzi basato sul protocollo IP

is able to support communications using the TransmissionControl Protocol/Internet Protocol (TCP/IP) suite or itssubsequent extensions/follow-ons, and/or other IP-compatible protocols;

consente di comunicare mediante protocollo TCP/IP o sue estensioni

provides, uses or makes accessible, either publicly or privately, high level services layered on the communications and related infrastructure describedherein.

rende accessibili, pubblicamente o privatamente, servizibasati sulla infrastruttura descritta

24 October 1995

Page 9: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 9

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1717 --

Reti di elaboratori e nascita della rete InternetReti di elaboratori e nascita della rete Internet

InternetInternet, Intranet e Extranet, Intranet e Extranet

IntranetIntranetÈ una rete aziendale basata su protocolli ed applicazioni tipici di Internet. La rete intranet può essere collegata ad Internet (e quindi dialogare con l'esterno dell'azienda)

ExtranetExtranetÈ una rete geografica distribuita ma logicamente unitaria, costituita dall’unione di più intranet e basata su tecnologie Internet; può prevedere sistemi di sicurezza (firewall, crittografia) per consentire la riservatezza delle informazioni tra i partecipanti all’extranet (fornitori, clienti, partner, distributori, banche, ...)

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1818 --

Reti di elaboratori e nascita della rete InternetReti di elaboratori e nascita della rete Internet

Storia di InternetStoria di Internet

1961-1964: ricerche sulla comutazione di pacchetto (LeonardKleinrock)1967: Nasce il progetto Arpanet1983: TCP/IP protocollo ufficiale Arpanet1986: Entra in funzione la rete ad uso civile NSFNET1989: il numero di host di Internet supera quota 100.0001990: Tim Berners-Lee, un fisico del CERN di Ginevra, crea il World Wide Web (WWW)1992: il numero di host di Internet supera il milione1993: Marc Andreessen dell’NCSA rilascia il browser web Mosaic1994: nasce il World Wide Web Consortium (W3C); Marc Andreessen lascia l’NCSA e fonda la Netscape1995: versione 1.0 di MS Internet Explorer

Page 10: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 10

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 1919 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Internet si basa sul paradigma Client-ServerTutti i servizi di Internet (posta, WWW,news,…) prevedono

Client: per richiedere serviziServer: per fornire servizi

Il primo aspetto da esaminare è relativo a come si connettono client e server…

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2020 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di InternetIl Telefono Il Telefono –– Rete a Commutazione di circuitoRete a Commutazione di circuito

Prima di iniziare una comunicazione occorre stabilire una connessioneIl canale di comunicazione èassegnato in modo esclusivo per tutta la durata della comunicazione, indipendentemente dal fatto che si invii trafficoLe reti a commutazione di circuito sono inefficienti per le trasmissioni dati, specialmente per trasmissioni di tipo interattivo, per le quali nella maggior parte del tempo non si ha traffico.

Page 11: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 11

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2121 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

InternetInternet –– Rete a pacchettoRete a pacchetto

Le informazioni vengono inviate in forma digitale (bit) in unitàinformative chiamate pacchettiNon è necessario stabilire connessioni o riservare collegamenti per i nodi che comunicano tra loroI pacchetti possono viaggiare attraverso la rete secondo percorsi differenti, possono andare perduti e arrivare in un ordine differenteOgni pacchetto a ciascun nodo della rete viene immagazzinato e subito inoltrato verso il nodo successivo (store and forward), indipendentemente dagli altri

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2222 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Funzionamento di InternetFunzionamento di Internet

Per capire come funziona la rete Internet occorre pensare ai vari problemi che si pongono in una rete a commutazione di pacchetto, quale è Internet.Come indicare la destinazione di un pacchetto dati?

Un problema, in una rete a commutazione di pacchetto, èquello di attribuire un indirizzo univoco a ciascun nodo della rete.

Come fare in modo che un pacchetto giunga a destinazione?Una volta specificata la destinazione di un pacchetto, esso viene affidato alla rete che deve recapitarlo a destinazione facendo in modo che trovi la strada giusta (routing).

Come regolare lo scambio di messaggi tra due elaboratori che comunicano attraverso la rete?

La comunicazione tra due elaboratori deve essere guidata da opportune regole, come per le cerimonie c’è un preciso protocollo.

Page 12: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 12

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2323 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

IndirizzamentoIndirizzamento

In ogni rete a commutazione di pacchetto occorre risolvere un primo problema che è quello di dare un nome univoco a tutti i nodi che la compongonoUn indirizzo di un nodo è un identificativo, solitamente numerico e di pochi byte, che lo rende unicoL’indirizzo serve per poter specificare a chi inviare un pacchetto e chi ne è il mittenteOgni pacchetto contiene, solitamente nell’intestazione (header), tra le altre informazioni, gli indirizzi del mittente e del destinatarioUn indirizzo IP (IPv4) è un numero di 32 bit

Con IPv6 arriveranno indirizzi a 128 bit!Il formato con cui viene espresso un indirizzo IP è solitamente quello con quattro numeri (ciascuno tra 0 e 255) separati da punti:

131.175.5.229Esistono 256*256*256*256 = 2^32 = 4.294.967.296 indirizzi

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2424 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

RoutingRouting

Scambiare dati fra host connessi tramite una rete di comunicazione è un problema complesso: vi sono molti protocolli e informazioni di basso livello che vanno scambiate per gestire la comunicazioneOccorre individuare i percorsi disponibili lungo cui inoltrare i pacchettiOccorre che la rete reagisca autonomamente ai guasti aggiornando la propria configurazione e trovando percorsi alternativiNella rete vi sono particolari nodi (router) che hanno il compito di inoltrare i pacchetti verso il nodo successivo

Page 13: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 13

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2525 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

ProtocolliProtocolli

Un protocollo è un preciso insieme di regole che stabiliscono come avviene la comunicazione: l’ordine, il formato dei messaggi scambiati ed il loro significatoLa standardizzazione di protocolli consente al software ed all’hardware di produttori differenti di comunicare tra loro (interoperabilità)In una rete esistono diversi livelli di comunicazione che rappresentano diversi livelli di astrazione

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2626 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

StackStack protocollare: unprotocollare: un’’analogiaanalogia

Sig. Rossi Mr. Smith

Interprete Interprete

Segretaria Segretaria

testo in italiano

testo in francese testo in francese

testo in inglese

fax

Compra Buy

Page 14: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 14

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2727 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

StackStack protocollare: unprotocollare: un’’analogiaanalogia

Alcune osservazioni:in trasmissione, ogni livello riceve i dati dal livello superiore, aggiunge delle informazioni di controllo(ad esempio l’interprete scrive che lingua ha utilizzato) e passa il tutto al livello inferiore; in ricezione ogni livello interpreta le informazioni di controllo, le elimina, e passa i dati al livello superiorela lingua utilizzata dai due interpreti (così come il metodo di trasmissione usato dalle segretarie) può essere cambiata senza problemi per gli altri livelli

Se gli interpreti decidessero di usare il tedesco anzichéil francese, o le segretarie decidessero di usare la posta elettronica anziché il fax, non sarebbe necessaria nessuna modifica negli altri livelli (è importante che non cambi l’interfaccia verso gli altri livelli)

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2828 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

StackStack protocollare: unprotocollare: un’’analogiaanalogia

livello 3

livello 2

livello 1

livello 3

livello 2

livello 1

interfaccia 2-3 interfaccia 2-3

interfaccia 1-2 interfaccia 1-2

protocollo di livello 2

protocollo di livello 3

protocollo di livello 1

mezzo fisico

Page 15: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 15

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 2929 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Protocolli TCP/IPProtocolli TCP/IP

I protocolli principali della suite TCP/IP sono due:livello internet:

IPIP (Internet Protocol)

livello trasporto:TCPTCP (Transmission Control Protocol)

Esistono poi molti protocolli a livello applicazione.IP, TCP sono implementati all’interno del sistema operativoIP è l’elemento unificante di Internet, in quanto qualunque comunicazione su Internet passa attraverso il protocollo IP

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3030 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Funzionamento TCP/IPFunzionamento TCP/IP

Dati da Trasmettere

1 2 3

Dati Ricevuti

2 1 3

IPIP

TCP TCP

Internet

1

2

2

1

23

HTTP, SMTP, POP3, IMAP,

FTP, Telnet, …

TCP

IP, ICMP

ARP, RARP

Ethernet, FDDI, ...

stack TCP/IP

segmenti, datagrammi

pacchetti

trame

stringhe, file,stream

Page 16: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 16

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3131 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

IP IP -- Internet Internet ProtocolProtocol

L’Internet Protocol (IP) costituisce il “cuore” di Internet.IP fornisce un servizio inaffidabile e senza connessioneIP definisce l’unità base di qualunque comunicazione su Internet: il pacchetto IPIP si occupa dell’instradamentoinstradamento (routing) dei pacchetti attraverso le retiIP definisce le regole che specificano come host e router devono elaborare i pacchetti, generare messaggi di errore, eccetera

IP: gestisce lIP: gestisce l’’instradamentoinstradamento dei pacchettidei pacchetti

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3232 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

TCP TCP -- TransmissionTransmission Control Control ProtocolProtocol

Spesso le applicazioni hanno necessità di trasmettere grandi quantità di dati e serve un servizio affidabile adatto a questo scopoIl Transmission Control Protocol (TCP) fornisce, appoggiandosi su IP, un servizio affidabile di trasmissione di un flussoflusso non strutturato di dati, non strutturato di dati, orientato alla connessioneorientato alla connessione, full-duplexL’affidabilità è realizzata mediante il meccanismo dei riscontri (acknowledgement), messaggi con i quali il destinatario segnala l’avvenuta ricezione dei dati (i dati non ricevuti vengono ritrasmessi)

TCP: suddivide e TCP: suddivide e riassemblariassembla i pacchettii pacchetti

Page 17: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 17

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3333 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Protocolli e incapsulamentoProtocolli e incapsulamento

Application

TCP, UDP

IP, ICMP

Physic

user data

user dataapplicationheader

application dataTCPheader

TCP segmentIPheader

IP datagramEthernetheader

Ethernettrailer

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3434 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Il percorso di un pacchettoIl percorso di un pacchetto

Application

TCP, UDP

IP

Physic

Application

TCP, UDP

IP

Physic

IP

Physic

IP

Physic …

client server

router

Page 18: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 18

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3535 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Nomi di dominioNomi di dominio

Gli indirizzi IP non sono molto comodi da ricordare, per cui è stato introdotto il DomainDomain NameName SystemSystem (DNS), che fornisce un sistema di nomi simbolici (nomi di dominio).I nomi di dominio sono organizzati in modo gerarchico, al livello più alto ci sono i Top Level Domain (TLD), divisi in due categorie:

generici (gTLD):- sette “storici”: com, org, net, int, gov, edu, mil;- sette recentemente introdotti: info, biz, pro, name, aero, museum, coop.

nazionali (ccTLD): it, fr, de, es, uk, us, ca, au…

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3636 --

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Nomi di dominioNomi di dominio

Al di sotto dei TLD un’organizzazione può registrare il proprio dominio, ad esempio “ente.it”.

Le etichette dei diversi livelli si scrivono separandole con un punto, i livelli più alti più a destra.

Al di sotto del proprio dominio l’organizzazione può dare nomi alle proprie macchine, ad esempio “host1.ente.it”, e può anche creare dei sotto-domini, come ad esempio “sede1.ente.it”

Per convenzione, si usano nomi del tipo “www” per il server web, “ftp” per il server FTP, eccetera.

Quando per comunicare con una macchina se ne indica il nome di dominio, questo viene risolto, cioèconvertito nel corrispondente indirizzo IP, interrogando la rete dei server DNS

Page 19: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 19

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3737 --

Client WebClient di postaServer di posta

Server Web

Client di posta

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Architettura Architettura ““logicalogica”” di Internetdi Internet

Client Web

Client FTP

Server FTP

Internet

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3838 --

Gateway/Router

Internet ServiceProvider

(ISP)

Host

Dorsale

Rete telefonica

Rete locale

Rete locale (LAN)Rete locale (LAN)

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Architettura Architettura ““fisicafisica”” di Internetdi Internet

Page 20: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 20

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 3939 --

Fonte: William R. Cheswick

Caratteristiche peculiari di InternetCaratteristiche peculiari di Internet

Topologia di InternetTopologia di Internet

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4040 --

Il World Il World WideWide WebWeb

Internet è la rete, la comune infrastruttura.I servizi sono le applicazioni utilizzabili dagli utenti finali:

World Wide Web (HTTP), Email (SMTP, POP3, IMAP), Chat (IRC), Download di file (FTP), Terminali remoti (TELNET), Newsgroup (NNTP), ...

Uno dei più importanti servizi di Internet è il WWW (World Wide Web):

IPERTESTOMULTIMEDIALEDISTRIBUITO

Page 21: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 21

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4141 --

World World WideWide WebWeb

IpertestoIpertesto

Un IPERTESTO è un documento con una struttura non sequenziale, costituito da varie porzioni fra loro collegate, al fine di favorire la consultazione a seconda delle esigenze, senza la rigidità della struttura fisica sequenzialeEs. Libro organizzato in forma ipertestualeTramite l’ausilio di opportuni strumenti informatici èpossibile NAVIGARE i collegamenti denominati LINK(ad esempio agendo opportunamente con il mouse)

Prefazione

CAP. 1

CAP. 2

CAP. 3

Par. 1.1

Par. 1.2

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4242 --

World World WideWide WebWeb

Ipertesto MULTIMEDIALE DISTRIBUITOIpertesto MULTIMEDIALE DISTRIBUITO

Il concetto di iperteso non riguarda solo un unico documento, ma può essere generalizzato:

Può associare differenti documenti prodotti da differenti personePuò associare documenti multimediali, cioècontenenti risorse non testuali, quali immagini, filmati e suoni (si chiama IPERTESTO MULTIMEDIALE o IPERMEDIA)Può essere costituito da documenti distribuiti su diversi nodi di Internet (IPERTESTO DISTRIBUITO)

Page 22: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 22

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4343 --

World World WideWide WebWeb

World World WideWide Web Web -- DefinizioneDefinizione

Riassumendo: Il World Wide Web è un ipertesto multimediale distribuito, formato da componenti autonomi, in quanto collega documenti e risorse di vario genere prodotti e mantenuti da persone diverse su tutta la rete Internet

Nodo A

Testo X

Testo U

Nodo B

Testo Y

Immagine Z

Nodo C

Testo V

Testo W

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4444 --

World World WideWide WebWeb

Le tecnologie del WebLe tecnologie del Web

Il Web è nato da un progetto presso il CERN attorno al 1989 quando Tim Berners-Lee realizzò il primo prototipo di sistema alla base del Web stessoLe funzionalità del Web si basano su tre standard:

HyperText Transfer Protocol (HTTP)Uniform Resource Locator (URL)HyperText Markup Language (HTML)

Page 23: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 23

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4545 --

Il World Il World WideWide WebWeb

Il Protocollo HTTPIl Protocollo HTTP

Il protocollo HyperText Transfer Protocol(HTTP) governa l’interazione client-serverper l’interscambio di documenti sul web

Client: è un programma denominato BROWSER che invia richieste di risorse al server e le visualizza

Esempi: Internet Explorer, Netscape, Mozilla, Opera,…

Server: è un sistema software denominato WEB SERVER che riceve richieste di risorse, le reperisce e le restituisce al client che ne ha fatto richiesta

Esempi: MS Internet Information Server, Tomcat, Apache

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4646 --

World World WideWide WebWeb

Fasi del protocollo HTTPFasi del protocollo HTTP

Il protocollo HTTP nella sua versione originale prevede una interazione su 4 fasi:

1. Richiesta di connessione: il browser contatta il server per verificarne esistenza e disponibilità

2. Accettazione della connessione: il server risponde e instaura una connessione TCP/IP

3. Richiesta: il client invia al server un messaggio con i dettagli della risorsa richiesta

4. Risposta: il server comunica l’esito della richiesta e, se positivo, i risultati; chiude la connessione e NON mantiene memoria

BrowserBrowser Web ServerWeb Server

1.

2.3.

4.

Page 24: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 24

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4747 --

World World WideWide WebWeb

UniformUniform ResourceResource LocatorLocator (URL)(URL)

Allo scopo di identificare univocamente le risorse HTTP prevede un meccanismo di indirizzamento standard denominato URLhttp:// <host> [:<porta>] [<path> [? <query> ]]

http identifica il protocolloPuò anche essere “ftp”

<host> identifica l’indirizzo del server simbolico o numericosimbolico: www.cefriel.itnumerico (IP): 131.175.5.229

<porta> specifica il numero di porta su cui è in ascolto il server:8080

<path> indica la risorsa richiesta nel file system del server<query> identifica alcuni parametri opzionali di interrogazione

Esempiohttp://web.cefriel.it/~colombo/InfoApplicata2004.htm

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4848 --

World World WideWide WebWeb

Richiesta HTTPRichiesta HTTP

La richiesta HTTP contieneLa linea di richiesta (request line), uno o più campi opzionali (header) e un corpo (body) opzionaleLa request line contiene

URL risorsaMetodo: GET o POST Versione protocollo utilizzata

Esempio di request-line:GET /pub/cefriel/risorsa.html HTPP/1.0

Page 25: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 25

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 4949 --

World World WideWide WebWeb

Risposta HTTPRisposta HTTP

La risposta HTTP contieneLa linea di stato (status line), uno o più campi opzionali (header) e un corpo (body) che contiene la risorsa richiestaLa status line contiene

Versione protocollo utilizzataCodice contenente l’esito della richiesta

Esempi di codici della status-line:1XX (informativo), 2XX (successo), 3XX (ridirezione), 4XX(errore client), 5XX (errore server)

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5050 --

World World WideWide WebWeb

HTTP HTTP –– Caratteristiche peculiari Caratteristiche peculiari -- 11

HTTP 1.1 (1999) ha apportato varie migliorie al protocollo tra cui la CONNESSIONE MULTI-RICHIESTA

Viene sfruttata un’unica richiesta di connessione per vari cicli di richiesta e risposta

Nonostante le migliorie rimangono alcune caratteristiche fondamentali uniche di HTTP

HTTP NON HA MEMORIA (è stateless)Nel caso di operazioni complesse che coinvolgono numerose operazioni, il server non è in grado di mantenere informazioni sulle operazioni già effettuate e sul loro esitoVantaggio: protocollo più semplice e veloceSvantaggio: è difficile realizzare procedure complesse

Page 26: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 26

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5151 --

World World WideWide WebWeb

HTTP HTTP –– Caratteristiche peculiari Caratteristiche peculiari -- 22

HTTP è ASIMMETRICOL’iniziativa parte sempre dal Client mentre il server svolge un ruolo passivoVantaggio: velocità e semplicitàSvantaggio: non è possibile realizzare applicazioni in cui il server notifica accadimento di eventi

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5252 --

World World WideWide WebWeb

HTML HTML -- HyperTextHyperText MarkupMarkup LanguageLanguage

I documenti che costituiscono la struttura ipertestuale del web sono scritti in HTML (HyperText Markup Language)HTML è un linguaggio a marcatori (di MARK-UP)

Il testo è annotato con opportuni comandi (detti TAG o ELEMENTI) che ne assegnano le proprietà grafiche o strutturaliIl documento viene elaborato da un processore al fine di essere visualizzato o stampatoEsempio

<H1> Titolo </H1>

Page 27: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 27

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5353 --

World World WideWide WebWeb

MModelloodello didi funzionamentofunzionamento

HTML

Web browser

InterpreteHTML

HTTP

HTMLHTML

HTML

HTML

Web server

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5454 --

World World WideWide WebWeb

ClientClient

Applicazione in grado di:accedere alla rete secondo il protocollo HTTPrichiedere risorse identificate da un URL a un serverinterpretare e rendere a video la risposta del server

I diversi prodotti differenziano per:La versione di HTML trattataLa capacità di trattare estensioni non standard di HTML (ad es. JavaScript, VBscript)La capacità di eseguire programmi (es. Java)

Le capacità possono essere ampliate con l’aggiunta di applicazioni esterne (plug-in)

http://www.microsoft.com/iehttp://www.mozilla.orghttp://www.opera.com

http://www.microsoft.com/iehttp://www.mozilla.orghttp://www.opera.com

Page 28: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 28

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5555 --

World World WideWide WebWeb

Il server HTTPIl server HTTP

Funzioni base:accesso alla rete secondo il protocollo HTTPinvio di risorse identificate da un URL a un clientcontrollo degli accessilancio di programmi in risposta a richiesteregistrazione degli accessi (logging)

Funzioni avanzate:monitoraggio e amministrazioneconnessione a basi di datiesecuzione efficiente di applicazioni esterne

Esempi: MS IIS http://www.microsoft.com/iisApache http://www.apache.orgTomcat http://jakarta.apache.org/tomcat/index.html

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5656 --

HTMLHTML

HTML: HyperText Markup LanguageHTML è il linguaggio per la pubblicazione di contenuti sul World Wide Web.Il linguaggio HTML consente di:

Pubblicare documenti strutturati, contenenti titoli, sottotitoli, tabelle, liste numerate, immagini, ecc.Creare collegamenti a documenti pubblicati da altriIncludere oggetti multimediali

I documenti scritti in HTML sono:StrutturatiIpertestualiMultimediali

Page 29: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 29

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5757 --

HTMLHTML

La sintassi del linguaggio HTMLLa sintassi del linguaggio HTML

HTML è un linguaggio a marcatori: <tag>Marcatori di apertura: <nome_tag>Marcatori di chiusura: </nome_tag>

Un <tag> agisce su ciò che contiene:<nome_tag>Contenuto del tag</nome_tag>

Un <tag> può avere degli attributi:<nome_tag attributo=“valore”>

Esempio di un tag per realizzare un link:

<a href=“www.cefriel.it”> Cefriel </a>

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5858 --

HTMLHTML

Cosa significa imparare HTML?Cosa significa imparare HTML?

Come tutti i linguaggi, HTML ha:La sintassi del linguaggio:

“come si scrive?”La semantica del linguaggio:

“a cosa serve, cosa significa?”

Sintassi:I <tag> vanno <aperti> e vanno </chiusi>Gli attributi dei <tag> vanno messi tra “doppi apici”Regole di inclusione gerarchica dei <tag>

Semantica:<u>Testo</u> Testo<i>Testo</i> Testo

Page 30: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 30

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 5959 --

HTMLHTML

Un documento HTMLUn documento HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<title>Primo esempio</title>

</head>

<body>

<p>Ciao Mondo!</p>

</body>

</html>

Informazioni sulla versioneHTML utilizzata

Intestazione:informazioni sul contenuto

Corpo:il contenuto vero e proprio

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 6060 --

HTMLHTML

Documenti strutturatiDocumenti strutturati

I contenuti devono essere strutturati

<body>

<h1>Titolo</h1>

<h2>Sottotitolo</h2>

<p>&nbsp;&nbsp;&nbsp;&nbsp;

Testo identato, di un paragrafo.<br>

Altro testo a capo, sulla seconda riga.

</p>

</body>

Alcuni tag per strutturare i documenti: <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <p>, <br>, <hr>, <pre>, &nbsp;

Page 31: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 31

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 6161 --

Server HTTP: gestione pagine staticheServer HTTP: gestione pagine statiche

BrowserBrowser Web ServerWeb Server

Interfaccia File System: recuperoRisorsa Statica

Interfaccia File System: recuperoRisorsa Statica

Richiesta Risorsa Statica

Richiesta Risorsa Statica

Risorsa da Visualizzare

Risorsa da Visualizzare

Risorse Statiche memorizzate su File System

Risorse Statiche memorizzate su File System

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 6262 --

Server HTTP: gestione pagine Server HTTP: gestione pagine dinamichedinamiche

BrowserBrowser

Web ServerWeb Server

Interfaccia applicazioni:Esecuzione programmi

Interfaccia applicazioni:Esecuzione programmi

Richiesta Risorsa Dinamica

Richiesta Risorsa Dinamica

Risorsa da Visualizzare

Risorsa da Visualizzare

AccessoDatabase

AccessoDatabase

Page 32: Architettura Client-Server - unimi.ithomes.di.unimi.it/piuri/pages/didattica/SInformatici/mat/sistinfolab/... · Architettura a 3 livelli Nell’architettura three-tier è presente

DB e Web Corso di Informatica Applicata

© 2003 - Cesare Colombo 32

DB e WebDB e Web Informatica ApplicataInformatica Applicata-- 6363 --

BibliografiaBibliografia

Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone

Basi di DatiArchitetture e linee di evoluzione2003 - McGraw Hill

3.1 e 4.1


Recommended