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
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
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
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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
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)
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)
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.
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
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
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>
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
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
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
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>
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>,
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
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