Architettura sito web e di Internet: approfondimento tecnico
1. Tecnologie di Sviluppo per il Web, architettura sito web e di Internet: approfondimento tecnico
- Introduzione
- Architettura Client-Server
-
- Architettura a Due Livelli
-
- Architettura a Tre Livelli
- Server Web
- Browser Web
Architettura >> Sommario
3. Introduzione
- La storia di questo corso comincia nell’89
-
- Tim Berners-Lee al CERN, progetto WWW
-
- primi prototipi nel 1991
- Idea: “distributed hypermedia”
-
- un ipertesto multimediale distribuito
-
- ipertesto = testo a sviluppo non lineare
-
- multimediale = più di un “medium”
-
- distribuito = dislocato sui nodi di una rete
Architettura >> Introduzione
4. Introduzione
- Tre idee fondamentali
-
- un protocollo client-server (HTTP)
-
- un sistema di indirizzamento (URL)
-
- un linguaggio per la compilazione (HTML)
- Inizialmente
-
- pubblicazione di contenuti (documenti)
- Oggi
-
- 80% dei flussi Internet è basato su HTTP
-
- contenuti e servizi (sistemi informativi)
Architettura >> Introduzione
5. Architettura Client-Server
- Architettura Client-Server
Architettura >> Architettura Server protocollo HTTP risorse richieste (URL) risposte Rete TCP/IP browser HTTP client HTTP Applicazione (es: Java)
6. Terminologia
- “ Web Characterization Terminology”, W3C
- Risorsa
-
- qualsiasi cosa sia accessibile su un server
- Server
-
- ruolo svolto da un’applicazione che fornisce risorse
- Client
-
- ruolo svolto da un’applicazione che richiede risorse
- Messaggio
-
- unità di comunicazione scambiata tra client e server
Architettura >> Architettura
7. Terminologia
- Richiesta
-
- messaggio inviato dal client al server per richiedere una operazione su una risorsa
- Risposta
-
- messaggio contenente il risultato dell’esecuzione di una richiesta
- Utente
-
- soggetto che interagisce con il client per accedere risorse
- Autore o Sviluppatore
-
- chi pubblica risorse su un server
Architettura >> Architettura
8. Architettura Client-Server
- World Wide Web
-
- servizio applicativo di Internet basato su un’architettura client/server
-
- ma non è l’unico
- Nel caso del Web
-
- risorse: documenti, immagini ed altri media, servizi interattivi
-
- client: tipicamente il browser
-
- server: server per l’accesso a risorse Web
Architettura >> Architettura
9. Architetture di Riferimento
- Due livelli, pagine statiche
Architettura >> Architettura centrata sui contenuti nessun servizio pagine (file html) Server HTTP Internet intranet browser browser
10. Architetture di Riferimento
- Tre livelli con componenti
Architettura >> Architettura centrata sui servizi architettura applicativa completa HTTP Internet intranet browser browser Pagine Server Applicativo DB DBMS
Architettura di un sito web e di Internet: approfondimento tecnico
11. Architettura
- Compiti del browser
-
- visualizzare le risorse e gestire l’interazione con l’utente
- Compiti del server
-
- nel caso di documenti: inviare il contenuto di file contenuti sul disco locale
-
- nel caso di servizi interattivi: eseguire un’applicazione e restituire i risultati dell’esecuzione
Architettura >> Architettura
12. Server Web
- Applicazione software
-
- che fornisce accesso ad un sito Web
- Caratteristiche
-
- fornisce servizi basati su HTTP
-
- consente l’accesso a documenti statici
-
- consente l’accesso a servizi interattivi (applicazioni) >> server applicativo
Architettura >> Server Web
13. Server Web
- Apache HTTP Server (httpd.apache.org)
-
- open source (deriva da NCSA)
-
- server HTTP
-
- vari protocolli di interfaccia con server applicativi (es: CGI, PHP)
- Microsoft Internet Information Services
-
- server HTTP
-
- integrato con il server applicativo .NET
Architettura >> Server Web
14. Server Web
- Apache Tomcat (jakarta.apache.org)
-
- server applicativo open source per Servlet e JSP
-
- include server HTTP
- IBM WebSphere, Bea WebLogic ed altri
-
- server applicativi commerciali per J2EE
-
- includono server HTTP
- JBoss (www.jboss.org)
-
- server applicativo open source per J2EE
-
- include server HTTP
Architettura >> Server Web
15. Server Web
- Apache è il server Web più diffuso
Architettura >> Server Web
16. Architettura di un Server Web
- Contiene vari moduli
- Server HTTP
-
- implementa il protocollo HTTP
-
- include vari altri servizi; es: caching, logging
- Gestore del file system
-
- contenuti statici salvati come file
- Server applicativo
-
- gestore di applicazioni e componenti
Architettura >> Server Web
17. Architettura di un Server Web
- Architettura a 3 livelli
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. Registrazioni (Logging)
- Servizio di registrazione
-
- tutto quello che avviene sul server viene registrato in opportuni file di registro (log)
- File principali
-
- richieste: IP del richiedente, URI richiesto, data, esito
-
- errori
-
- provenienza (referer)
Architettura >> Server Web
19. Registrazioni (Logging)
- Architettura a 3 livelli
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. Caching
- Caching
-
- servizio fondamentale offerto dai server Web
-
- orientato a migliorare le prestazioni
- Più in generale
-
- tecnica essenziale per l’accesso ai dati distribuiti
-
- nell’architettura di riferimento esistono meccanismi di caching a più livelli
Architettura >> Architettura >> Caching
21. Caching
- Caching a vari livelli delle risposte
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. Server Web
- In sintesi: Principali servizi del server
-
- servizio HTTP verso il client (include autenticazione e autorizzazione)
-
- gestione delle risorse sul file system
-
- gestione delle applicazioni
-
- registrazione degli accessi (logging)
-
- gestione dei meccanismi di caching
Architettura sito web e di Internet: approfondimento tecnico
Architettura >> Server Web
23. Browser Web
- Principali servizi
-
- consente di specificare le richieste (URL)
-
- implementa il protocollo HTTP
-
- visualizza il contenuto delle risposte e consente la navigazione
-
- cache locale
-
- altri servizi (preferiti, stampa, salva, ecc.)
- Browser diversi, diverse compatibilità
Architettura >> Browser Web
24. Browser Web
- Microsoft Internet Explorer
-
- leader di mercato
- Netscape e Mozilla (Gecko)
-
- prima: Netscape Navigator (2, 3, 4 fino a 4.78)
- Opera
-
- “ adware”
- Lynx
-
- browser esclusivamente testuale
Architettura >> Browser Web
25. Browser Web
- Browser per disabili
-
- es: IBM Home Page Reader
- Browser per dispositivi mobili
-
- es: Eudora Web per Palm
-
- es: Pocket Internet Explorer per Pocket PC
- Altri browser
-
- Amaya, browser di del consorzio W3C
-
- Konqueror, browser di KDE
-
- Galeon, browser di Gnome
Architettura >> Browser Web
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. Riassumendo
- Introduzione
- Architettura Client-Server
-
- Architettura a Due Livelli
-
- Architettura a Tre Livelli
- Server Web
- Browser Web
Architettura >> Sommario
28. Termini della Licenza Termini della Licenza
- 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.
- 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.
Commenti recenti