Post on 01-May-2015
transcript
G. Mecca – mecca@unibas.it – Università della Basilicata G. Mecca – mecca@unibas.it – Università della Basilicata
Tecnologie di Sviluppo per il Web
Introduzione
Architettura di Riferimento
versione 2.0Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons
(vedi ultima pagina)
2G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Sommario
Introduzione Architettura Client-Server
Architettura a Due LivelliArchitettura a Tre Livelli
Server Web Browser Web
Architettura >> Sommario
3G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione
La storia di questo corso comincia nell’89Tim Berners-Lee al CERN, progetto WWWprimi prototipi nel 1991
Idea: “distributed hypermedia”un ipertesto multimediale distribuitoipertesto = testo a sviluppo non linearemultimediale = più di un “medium”distribuito = dislocato sui nodi di una rete
Architettura >> Introduzione
4G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione
Tre idee fondamentaliun protocollo client-server (HTTP)un sistema di indirizzamento (URL)un linguaggio per la compilazione (HTML)
Inizialmentepubblicazione di contenuti (documenti)
Oggi80% dei flussi Internet è basato su HTTPcontenuti e servizi (sistemi informativi)
Architettura >> Introduzione
5G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architettura Client-Server
Architettura Client-Server
Architettura >> Architettura
Serverprotocollo
HTTP
risorse
richieste (URL)
risposte Rete
TCP/IPbrowser
HTTP
clientHTTP
Applicazione(es: Java)
6G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
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
7G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Terminologia
Richiestamessaggio inviato dal client al server per richiedere
una operazione su una risorsa Risposta
messaggio contenente il risultato dell’esecuzione di una richiesta
Utentesoggetto che interagisce con il client per accedere
risorse Autore o Sviluppatore
chi pubblica risorse su un server
Architettura >> Architettura
8G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architettura Client-Server
World Wide Webservizio applicativo di Internet basato su
un’architettura client/serverma non è l’unico
Nel caso del Webrisorse: documenti, immagini ed altri media,
servizi interattiviclient: tipicamente il browserserver: server per l’accesso a risorse Web
Architettura >> Architettura
9G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architetture di Riferimento
Due livelli, pagine statiche
Architettura >> Architettura
pagine (file html)
ServerHTTP
Internetintranet
browser
browser
centrata sui contenutinessun servizio
10G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architetture di Riferimento
Tre livelli con componenti
Architettura >> Architettura
HT
TP
Internetintranet
browser
browser
centrata sui servizi
architettura applicativacompleta
Pagine
ServerApplicativo
DB
DBMS
11G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architettura
Compiti del browservisualizzare 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
12G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Server Web
Applicazione softwareche fornisce accesso ad un sito Web
Caratteristichefornisce servizi basati su HTTPconsente l’accesso a documenti staticiconsente l’accesso a servizi interattivi
(applicazioni) >> server applicativo
Architettura >> Server Web
13G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Server Web
Apache HTTP Server (httpd.apache.org)open source (deriva da NCSA)server HTTPvari protocolli di interfaccia con server
applicativi (es: CGI, PHP) Microsoft Internet Information Services
server HTTP integrato con il server applicativo .NET
Architettura >> Server Web
14G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Server Web
Apache Tomcat (jakarta.apache.org)server applicativo open source per Servlet e JSPinclude server HTTP
IBM WebSphere, Bea WebLogic ed altriserver applicativi commerciali per J2EEincludono server HTTP
JBoss (www.jboss.org)server applicativo open source per J2EEinclude server HTTP
Architettura >> Server Web
15G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Server Web
Apache è il server Web più diffuso
Architettura >> Server Web
16G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architettura di un Server Web
Contiene vari moduli Server HTTP
implementa il protocollo HTTPinclude vari altri servizi; es: caching, logging
Gestore del file systemcontenuti statici salvati come file
Server applicativogestore di applicazioni e componenti
Architettura >> Server Web
17G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Server Web
Architettura di un Server Web
Architettura a 3 livelli
Architettura >> Server Web
DB
DBMSH
TT
P
Rete
TCP/IP
file
systemGes
tore
dei
Fie
ServerApplicativo
componenti
browserHTTP
clientHTTP
Applicazione(es: Java)
18G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Registrazioni (Logging)
Servizio di registrazionetutto quello che avviene sul server viene
registrato in opportuni file di registro (log) File principali
richieste: IP del richiedente, URI richiesto, data, esito
erroriprovenienza (referer)
Architettura >> Server Web
19G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Server Web
Registrazioni (Logging)
Architettura a 3 livelli
Architettura >> Server Web
DB
DBMSH
TT
P
Rete
TCP/IP
file
systemGes
tore
dei
Fie
ServerApplicativo
componenti
browserHTTP
clientHTTP
Applicazione(es: Java)
Registrazionedegli accessi (log)
20G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Caching
Cachingservizio fondamentale offerto dai server Weborientato a migliorare le prestazioni
Più in generaletecnica essenziale per l’accesso ai dati
distribuitinell’architettura di riferimento esistono
meccanismi di caching a più livelli
Architettura >> Architettura >> Caching
21G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Server Web
DB
DBMSHT
TP
file
systemGes
tore
dei
Fie
ServerApplicativo
componenti
Registrazionedegli accessi (log)
Caching
Caching a vari livelli delle risposte
Architettura >> Architettura >> Caching
browser
Cac
he
del
ser
ver
Cachedel browser
Cachedel proxy
ServerProxy
22G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Server Web
In sintesi: Principali servizi del serverservizio HTTP verso il client (include
autenticazione e autorizzazione)gestione delle risorse sul file systemgestione delle applicazioniregistrazione degli accessi (logging)gestione dei meccanismi di caching
Architettura >> Server Web
23G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Browser Web
Principali serviziconsente di specificare le richieste (URL)implementa il protocollo HTTPvisualizza il contenuto delle risposte e
consente la navigazionecache localealtri servizi (preferiti, stampa, salva, ecc.)
Browser diversi, diverse compatibilità
Architettura >> Browser Web
24G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Browser Web
Microsoft Internet Explorerleader di mercato
Netscape e Mozilla (Gecko)prima: Netscape Navigator (2, 3, 4 fino a 4.78)
Opera“adware”
Lynxbrowser esclusivamente testuale
Architettura >> Browser Web
25G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Browser Web
Browser per disabilies: IBM Home Page Reader
Browser per dispositivi mobilies: Eudora Web per Palmes: Pocket Internet Explorer per Pocket PC
Altri browserAmaya, browser di del consorzio W3CKonqueror, browser di KDEGaleon, browser di Gnome
Architettura >> Browser Web
26G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Browser Web: Statistiche
Architettura >> Browser Web
Browser Fonte 3Fonte 2Fonte 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%
Fonte: http://www.upsdell.com/BrowserNews/, marzo 2003
1.9%2.7%1.5%NN4 (<)
1.1%0.55%1.4%IE4 (<)
27G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Riassumendo
Introduzione Architettura Client-Server
Architettura a Due LivelliArchitettura a Tre Livelli
Server Web Browser Web
Architettura >> Sommario
28G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
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.