Tecnologie di Sviluppo per il Web Introduzione Architettura di Riferimento versione 2.0 Questo lavoro è concesso in uso se...
Sommario <ul><li>Introduzione </li></ul><ul><li>Architettura Client-Server </li></ul><ul><ul><li>Architettura a Due Livell...
Introduzione <ul><li>La storia di questo corso comincia nell’89 </li></ul><ul><ul><li>Tim Berners-Lee al CERN, progetto WW...
Introduzione <ul><li>Tre idee fondamentali </li></ul><ul><ul><li>un protocollo client-server (HTTP) </li></ul></ul><ul><ul...
Architettura Client-Server <ul><li>Architettura Client-Server </li></ul>Architettura >> Architettura Server protocollo HTT...
Terminologia <ul><li>“ Web Characterization Terminology”, W3C </li></ul><ul><li>Risorsa </li></ul><ul><ul><li>qualsiasi co...
Terminologia <ul><li>Richiesta </li></ul><ul><ul><li>messaggio inviato dal client al server per richiedere una operazione ...
Architettura Client-Server <ul><li>World Wide Web </li></ul><ul><ul><li>servizio applicativo di Internet basato su un’arch...
Architetture di Riferimento <ul><li>Due livelli, pagine statiche </li></ul>Architettura >> Architettura centrata sui conte...
Architetture di Riferimento <ul><li>Tre livelli con componenti </li></ul>Architettura >> Architettura centrata sui servizi...
Architettura <ul><li>Compiti del browser </li></ul><ul><ul><li>visualizzare le risorse e gestire l’interazione con l’utent...
Server Web <ul><li>Applicazione software </li></ul><ul><ul><li>che fornisce accesso ad un sito Web </li></ul></ul><ul><li>...
Server Web <ul><li>Apache HTTP Server (httpd.apache.org) </li></ul><ul><ul><li>open source (deriva da NCSA) </li></ul></ul...
Server Web <ul><li>Apache Tomcat (jakarta.apache.org) </li></ul><ul><ul><li>server applicativo open source per Servlet e J...
Server Web <ul><li>Apache è il server Web più diffuso </li></ul>Architettura >> Server Web
Architettura di un Server Web <ul><li>Contiene vari moduli </li></ul><ul><li>Server HTTP </li></ul><ul><ul><li>implementa ...
Architettura di un Server Web <ul><li>Architettura a 3 livelli </li></ul>Architettura >> Server Web Server Web DB DBMS HTT...
Registrazioni (Logging) <ul><li>Servizio di registrazione </li></ul><ul><ul><li>tutto quello che avviene sul server viene ...
Registrazioni (Logging) <ul><li>Architettura a 3 livelli </li></ul>Architettura >> Server Web Server Web DB DBMS HTTP Rete...
Caching <ul><li>Caching </li></ul><ul><ul><li>servizio fondamentale offerto dai server Web </li></ul></ul><ul><ul><li>orie...
Caching <ul><li>Caching a vari livelli delle risposte </li></ul>Architettura >> Architettura >> Caching Cache del browser ...
Server Web <ul><li>In sintesi: Principali servizi del server </li></ul><ul><ul><li>servizio HTTP verso il client (include ...
Browser Web <ul><li>Principali servizi </li></ul><ul><ul><li>consente di specificare le richieste (URL) </li></ul></ul><ul...
Browser Web <ul><li>Microsoft Internet Explorer </li></ul><ul><ul><li>leader di mercato </li></ul></ul><ul><li>Netscape e ...
Browser Web <ul><li>Browser per disabili </li></ul><ul><ul><li>es: IBM Home Page Reader </li></ul></ul><ul><li>Browser per...
Browser Web: Statistiche Architettura >> Browser Web Fonte: http://www.upsdell.com/BrowserNews/, marzo 2003 Browser Fonte ...
Riassumendo <ul><li>Introduzione </li></ul><ul><li>Architettura Client-Server </li></ul><ul><ul><li>Architettura a Due Liv...
Termini della Licenza Termini della Licenza <ul><li>This work is licensed under the Creative Commons Attribution-ShareAlik...
Upcoming SlideShare
Loading in …5
×

Introduzione a Internet

1,643 views

Published on

Introduzione a Internet

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
  • Commento di prova
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
1,643
On SlideShare
0
From Embeds
0
Number of Embeds
55
Actions
Shares
0
Downloads
0
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Introduzione a Internet

  1. 1. Tecnologie di Sviluppo per il Web Introduzione Architettura di Riferimento versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
  2. 2. Sommario <ul><li>Introduzione </li></ul><ul><li>Architettura Client-Server </li></ul><ul><ul><li>Architettura a Due Livelli </li></ul></ul><ul><ul><li>Architettura a Tre Livelli </li></ul></ul><ul><li>Server Web </li></ul><ul><li>Browser Web </li></ul>Architettura >> Sommario
  3. 3. Introduzione <ul><li>La storia di questo corso comincia nell’89 </li></ul><ul><ul><li>Tim Berners-Lee al CERN, progetto WWW </li></ul></ul><ul><ul><li>primi prototipi nel 1991 </li></ul></ul><ul><li>Idea: “distributed hypermedia” </li></ul><ul><ul><li>un ipertesto multimediale distribuito </li></ul></ul><ul><ul><li>ipertesto = testo a sviluppo non lineare </li></ul></ul><ul><ul><li>multimediale = più di un “medium” </li></ul></ul><ul><ul><li>distribuito = dislocato sui nodi di una rete </li></ul></ul>Architettura >> Introduzione
  4. 4. Introduzione <ul><li>Tre idee fondamentali </li></ul><ul><ul><li>un protocollo client-server (HTTP) </li></ul></ul><ul><ul><li>un sistema di indirizzamento (URL) </li></ul></ul><ul><ul><li>un linguaggio per la compilazione (HTML) </li></ul></ul><ul><li>Inizialmente </li></ul><ul><ul><li>pubblicazione di contenuti (documenti) </li></ul></ul><ul><li>Oggi </li></ul><ul><ul><li>80% dei flussi Internet è basato su HTTP </li></ul></ul><ul><ul><li>contenuti e servizi (sistemi informativi) </li></ul></ul>Architettura >> Introduzione
  5. 5. Architettura Client-Server <ul><li>Architettura Client-Server </li></ul>Architettura >> Architettura Server protocollo HTTP risorse richieste (URL) risposte Rete TCP/IP browser HTTP client HTTP Applicazione (es: Java)
  6. 6. Terminologia <ul><li>“ Web Characterization Terminology”, W3C </li></ul><ul><li>Risorsa </li></ul><ul><ul><li>qualsiasi cosa sia accessibile su un server </li></ul></ul><ul><li>Server </li></ul><ul><ul><li>ruolo svolto da un’applicazione che fornisce risorse </li></ul></ul><ul><li>Client </li></ul><ul><ul><li>ruolo svolto da un’applicazione che richiede risorse </li></ul></ul><ul><li>Messaggio </li></ul><ul><ul><li>unità di comunicazione scambiata tra client e server </li></ul></ul>Architettura >> Architettura
  7. 7. Terminologia <ul><li>Richiesta </li></ul><ul><ul><li>messaggio inviato dal client al server per richiedere una operazione su una risorsa </li></ul></ul><ul><li>Risposta </li></ul><ul><ul><li>messaggio contenente il risultato dell’esecuzione di una richiesta </li></ul></ul><ul><li>Utente </li></ul><ul><ul><li>soggetto che interagisce con il client per accedere risorse </li></ul></ul><ul><li>Autore o Sviluppatore </li></ul><ul><ul><li>chi pubblica risorse su un server </li></ul></ul>Architettura >> Architettura
  8. 8. Architettura Client-Server <ul><li>World Wide Web </li></ul><ul><ul><li>servizio applicativo di Internet basato su un’architettura client/server </li></ul></ul><ul><ul><li>ma non è l’unico </li></ul></ul><ul><li>Nel caso del Web </li></ul><ul><ul><li>risorse: documenti, immagini ed altri media, servizi interattivi </li></ul></ul><ul><ul><li>client: tipicamente il browser </li></ul></ul><ul><ul><li>server: server per l’accesso a risorse Web </li></ul></ul>Architettura >> Architettura
  9. 9. Architetture di Riferimento <ul><li>Due livelli, pagine statiche </li></ul>Architettura >> Architettura centrata sui contenuti nessun servizio pagine (file html) Server HTTP Internet intranet browser browser
  10. 10. Architetture di Riferimento <ul><li>Tre livelli con componenti </li></ul>Architettura >> Architettura centrata sui servizi architettura applicativa completa HTTP Internet intranet browser browser Pagine Server Applicativo DB DBMS
  11. 11. Architettura <ul><li>Compiti del browser </li></ul><ul><ul><li>visualizzare le risorse e gestire l’interazione con l’utente </li></ul></ul><ul><li>Compiti del server </li></ul><ul><ul><li>nel caso di documenti: inviare il contenuto di file contenuti sul disco locale </li></ul></ul><ul><ul><li>nel caso di servizi interattivi: eseguire un’applicazione e restituire i risultati dell’esecuzione </li></ul></ul>Architettura >> Architettura
  12. 12. Server Web <ul><li>Applicazione software </li></ul><ul><ul><li>che fornisce accesso ad un sito Web </li></ul></ul><ul><li>Caratteristiche </li></ul><ul><ul><li>fornisce servizi basati su HTTP </li></ul></ul><ul><ul><li>consente l’accesso a documenti statici </li></ul></ul><ul><ul><li>consente l’accesso a servizi interattivi (applicazioni) >> server applicativo </li></ul></ul>Architettura >> Server Web
  13. 13. Server Web <ul><li>Apache HTTP Server (httpd.apache.org) </li></ul><ul><ul><li>open source (deriva da NCSA) </li></ul></ul><ul><ul><li>server HTTP </li></ul></ul><ul><ul><li>vari protocolli di interfaccia con server applicativi (es: CGI, PHP) </li></ul></ul><ul><li>Microsoft Internet Information Services </li></ul><ul><ul><li>server HTTP </li></ul></ul><ul><ul><li>integrato con il server applicativo .NET </li></ul></ul>Architettura >> Server Web
  14. 14. Server Web <ul><li>Apache Tomcat (jakarta.apache.org) </li></ul><ul><ul><li>server applicativo open source per Servlet e JSP </li></ul></ul><ul><ul><li>include server HTTP </li></ul></ul><ul><li>IBM WebSphere, Bea WebLogic ed altri </li></ul><ul><ul><li>server applicativi commerciali per J2EE </li></ul></ul><ul><ul><li>includono server HTTP </li></ul></ul><ul><li>JBoss (www.jboss.org) </li></ul><ul><ul><li>server applicativo open source per J2EE </li></ul></ul><ul><ul><li>include server HTTP </li></ul></ul>Architettura >> Server Web
  15. 15. Server Web <ul><li>Apache è il server Web più diffuso </li></ul>Architettura >> Server Web
  16. 16. Architettura di un Server Web <ul><li>Contiene vari moduli </li></ul><ul><li>Server HTTP </li></ul><ul><ul><li>implementa il protocollo HTTP </li></ul></ul><ul><ul><li>include vari altri servizi; es: caching, logging </li></ul></ul><ul><li>Gestore del file system </li></ul><ul><ul><li>contenuti statici salvati come file </li></ul></ul><ul><li>Server applicativo </li></ul><ul><ul><li>gestore di applicazioni e componenti </li></ul></ul>Architettura >> Server Web
  17. 17. Architettura di un Server Web <ul><li>Architettura a 3 livelli </li></ul>Architettura >> Server Web Server Web DB DBMS HTTP Rete TCP/IP file system Gestore dei Fie Server Applicativo componenti browser HTTP client HTTP Applicazione (es: Java)
  18. 18. Registrazioni (Logging) <ul><li>Servizio di registrazione </li></ul><ul><ul><li>tutto quello che avviene sul server viene registrato in opportuni file di registro (log) </li></ul></ul><ul><li>File principali </li></ul><ul><ul><li>richieste: IP del richiedente, URI richiesto, data, esito </li></ul></ul><ul><ul><li>errori </li></ul></ul><ul><ul><li>provenienza (referer) </li></ul></ul>Architettura >> Server Web
  19. 19. Registrazioni (Logging) <ul><li>Architettura a 3 livelli </li></ul>Architettura >> Server Web Server Web DB DBMS HTTP Rete TCP/IP file system Gestore dei Fie Server Applicativo componenti browser HTTP client HTTP Applicazione (es: Java) Registrazione degli accessi (log)
  20. 20. Caching <ul><li>Caching </li></ul><ul><ul><li>servizio fondamentale offerto dai server Web </li></ul></ul><ul><ul><li>orientato a migliorare le prestazioni </li></ul></ul><ul><li>Più in generale </li></ul><ul><ul><li>tecnica essenziale per l’accesso ai dati distribuiti </li></ul></ul><ul><ul><li>nell’architettura di riferimento esistono meccanismi di caching a più livelli </li></ul></ul>Architettura >> Architettura >> Caching
  21. 21. Caching <ul><li>Caching a vari livelli delle risposte </li></ul>Architettura >> Architettura >> Caching Cache del browser Cache del proxy Server Web DB DBMS HTTP file system Gestore dei Fie Server Applicativo componenti Registrazione degli accessi (log) browser Cache del server Server Proxy
  22. 22. Server Web <ul><li>In sintesi: Principali servizi del server </li></ul><ul><ul><li>servizio HTTP verso il client (include autenticazione e autorizzazione) </li></ul></ul><ul><ul><li>gestione delle risorse sul file system </li></ul></ul><ul><ul><li>gestione delle applicazioni </li></ul></ul><ul><ul><li>registrazione degli accessi (logging) </li></ul></ul><ul><ul><li>gestione dei meccanismi di caching </li></ul></ul>Architettura >> Server Web
  23. 23. Browser Web <ul><li>Principali servizi </li></ul><ul><ul><li>consente di specificare le richieste (URL) </li></ul></ul><ul><ul><li>implementa il protocollo HTTP </li></ul></ul><ul><ul><li>visualizza il contenuto delle risposte e consente la navigazione </li></ul></ul><ul><ul><li>cache locale </li></ul></ul><ul><ul><li>altri servizi (preferiti, stampa, salva, ecc.) </li></ul></ul><ul><li>Browser diversi, diverse compatibilità </li></ul>Architettura >> Browser Web
  24. 24. Browser Web <ul><li>Microsoft Internet Explorer </li></ul><ul><ul><li>leader di mercato </li></ul></ul><ul><li>Netscape e Mozilla (Gecko) </li></ul><ul><ul><li>prima: Netscape Navigator (2, 3, 4 fino a 4.78) </li></ul></ul><ul><li>Opera </li></ul><ul><ul><li>“ adware” </li></ul></ul><ul><li>Lynx </li></ul><ul><ul><li>browser esclusivamente testuale </li></ul></ul>Architettura >> Browser Web
  25. 25. Browser Web <ul><li>Browser per disabili </li></ul><ul><ul><li>es: IBM Home Page Reader </li></ul></ul><ul><li>Browser per dispositivi mobili </li></ul><ul><ul><li>es: Eudora Web per Palm </li></ul></ul><ul><ul><li>es: Pocket Internet Explorer per Pocket PC </li></ul></ul><ul><li>Altri browser </li></ul><ul><ul><li>Amaya, browser di del consorzio W3C </li></ul></ul><ul><ul><li>Konqueror, browser di KDE </li></ul></ul><ul><ul><li>Galeon, browser di Gnome </li></ul></ul>Architettura >> Browser Web
  26. 26. Browser Web: Statistiche Architettura >> Browser Web Fonte: http://www.upsdell.com/BrowserNews/, marzo 2003 Browser Fonte 3 Fonte 2 Fonte 1 IE6 (>) 48% 60% 56% IE5 (<) 25% 25% 37% 0.15% 0.05% 0% NN3 0.3% 1.5% 0% Altri 0.95% 1.7% 0.5% Opera (>) Gecko (>) 14% 6.6% 2.2% 1.9% 2.7% 1.5% NN4 (<) 1.1% 0.55% 1.4% IE4 (<)
  27. 27. Riassumendo <ul><li>Introduzione </li></ul><ul><li>Architettura Client-Server </li></ul><ul><ul><li>Architettura a Due Livelli </li></ul></ul><ul><ul><li>Architettura a Tre Livelli </li></ul></ul><ul><li>Server Web </li></ul><ul><li>Browser Web </li></ul>Architettura >> Sommario
  28. 28. Termini della Licenza Termini della Licenza <ul><li>This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. </li></ul><ul><li>Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. </li></ul>

×