2. Cos’è il Web
E‟ molto improbabile riuscire a racchiudere il concetto di Web in
una o più definizioni
Possiamo partire dicendo che il Web è uno dei servizi disponibili
su Internet, il più famoso insieme alla posta elettronica
Il servizio mette a disposizione degli utenti uno spazio digitale
ed elettronico per la pubblicazione di contenuti multimediali
2 Architettura Web
3. Cos’è il Web
E‟ anche un mezzo per la distribuzione di software e la fornitura
di servizi particolari sviluppati dagli stessi utenti
Nell‟accezione più recente, il Web è stato caratterizzato da una
evoluzione molto importante
Tale evoluzione ha scaturito la nascita di quello che oggi è noto
con il termine di “Web 2.0”
Questi implica una forte forma di coinvolgimento per gli utenti
3 Architettura Web
4. Storia del Web in 4 slide
Per cercare di capire al meglio cosa sia esattamente il Web
può essere utile un viaggio velocissimo nella sua storia
In origine la prima “rete” si chiamava ARPANET e fu sviluppata
alla fine degli anni sessanta da una agenzia del Ministero della
Difesa americana per collegare postazioni remote
La prima rete connetteva quattro nodi, 3 università e un
centro di ricerca, con una ampiezza di banda di 50Kbps
L‟architettura era client-server e le applicazioni venivano
eseguite facendo uso dei protocolli Telnet e FTP
4 Architettura Web
5. Storia del Web in 4 slide
Tra gli anni „70 e ‟80 la rete si collegò oltreoceano, con Francia,
Norvegia e Inghilterra, e nel 1976 la regina d‟Inghilterra spedì
la sua prima e-mail
Nel „79 vennero inventate le emoticon, per rappresentare il
proprio umore via e-mail, mentre nel 1980 si ebbe il primo
attacco virale che compromise temporaneamente l‟intera rete
Sempre in quegli anni vennero introdotti i protocolli TCP e IP e
si diede quindi il via alla rete con le caratteristiche odierne
Nel 1991 al CERN di Ginevra vennero inventati il protocollo
HTTP e il World Wide Web (www) con il primo sito web
5 Architettura Web
6. Storia del Web in 4 slide
Nel World Wide Web (WWW), le risorse disponibili sono
organizzate secondo un sistema di librerie (le pagine), a cui si
può accedere utilizzando appositi programmi detti browser
La sempre maggiore facilità di utilizzo dei browser, unita alla
evoluzione e diffusione dei Personal Computer, hanno aperto
l'uso di Internet ad una massa sempre crescente di persone
In breve Internet si sposta al di fuori dell‟ambito strettamente
informatico, favorendo una crescita esponenziale
Questo periodo della rete verrà in seguito denominato Web 1.0
6 Architettura Web
7. Storia del Web in 4 slide
I primi utenti internet in Italia risalgono alla prima metà degli
anni ‟90, quando la rete si diffonde anche a livello di
infrastruttura arrivando anche nel nostro paese
I primi servizi di connettività a pagamento trovano spazio
anche nell‟ambito domestico oltre che professionale, favorita
dalla crescente presenza nelle case dei PC
Dopo qualche anno comincia a svilupparsi la concorrenza e
questo favorisce notevolmente l‟utenza finale, con la maggiore
disponibilità di servizi e i sempre minori costi di connessione
7 Architettura Web
8. Dal Web 1.0 al Web 1.5
A seguito dell'integrazione con database e all'utilizzo di sistemi
di gestione dei contenuti (CMS), Internet si è evoluta
ulteriormente
Sono nati nuovi siti dinamici con forte capacità di interazione
Un esempio sono i forum e i blog
Questo periodo della rete, caratterizzato da un nuovo
dinamismo, verrà in seguito denominato Web 1.5
8 Architettura Web
9. Dal Web 1.5 al Web 2.0
Oggi riusciamo a classificare le varie “versioni” del web, ma
questo è stato fatto in maniera retroattiva
Prima della definizione del Web 2.0, nessuno avrebbe saputo
classificare il Web 1.0 o il Web 1.5
Questo però non ci consente di poter dire che il Web 2.0 è un
ambito noto e conosciuto
Anche se già è stato definito, in via non definitiva, l‟ambito di
applicazione del futuro Web 3.0
9 Architettura Web
10. Internet come una piattaforma applicativa
L‟evoluzione tecnologica in termini di potenza di calcolo e di
facile disponibilità di hardware hanno facilitato la presenza di
Internet nelle famiglie
La larghezza di banda sempre più alta ha poi consentito
l‟accesso a contenuti sempre più complessi
Tutto questo è stato favorito dalla nascita ma soprattutto dalla
crescita dei linguaggi di script lato client, come JavaScript
Questo linguaggio, utilizzato con tecniche di sviluppo evolute
come AJAX, hanno contribuito a questo fenomeno sociale
10 Architettura Web
11. Internet come una piattaforma applicativa
Oggi tutti usano internet come un contenitore di servizi
Si consulta internet per qualunque cosa (una ricetta, il meteo,
ritrovare un bugiardino perduto...)
E‟ diventato, per la maggior parte delle persone, un enorme
contenitore capace di contenere tutto (o quasi)
Ogni giorno milioni di persone si espongono sulla rete
Questi utenti producono quantità enormi di nuove informazioni
pronte a viaggiare e a diffondersi ovunque
11 Architettura Web
12. Classificazione del Web
1.0
• Pagine Web Statiche
• Siti e Portali
• Scarsa/inesistente interazione tra utenti
1.5
• Introduzione dei motori CMS
• Interazione tra utenti (forum,
community, ...)
2.0
• Internet come piattaforma applicativa
• Elevata interazione utente/i (RIA)
• Contenuti autoprodotti dall‟utenza
3.0
• Mobilità elevata
• Contenuti anche complessi in movimento
(infrastruttura/banda evoluta)
12 Architettura Web
13. Internet come veicolo di business
Le aziende sono state le prime a capire l‟importanza della rete
Le comunicazioni si sono velocizzate in maniera esponenziale,
consentendo di veicolare in maniera repentina le informazioni
Le aziende hanno trovato nuova linfa vitale nello sviluppo di
applicazioni e servizi evoluti, disponibili sul web
Pian piano diverse aziende ne hanno creato nuovi settori
produttivi, dall‟e-business ai servizi sul web
13 Architettura Web
14. La comunicazione in rete con il web
La prima rete (ARPANET) utilizzava come protocolli di
comunicazione TELNET e FTP
Successivamente furono introdotti prima i protocolli TCP e
IP, e quindi il protocollo HTTP (inventato nel 1991)
In effetti il termine “Internet” viene menzionato per la prima
volta nel Dicembre „74, nell‟RFC che descrive il protocollo TCP
14 Architettura Web
15. Le applicazioni N-Tier
Per applicazione N-tier si intende un'applicazione che
coinvolge N livelli di transazione
Le parti coinvolte in questa architettura assumono diversi
nomi e diversi significati in base al loro compito nella catena
transitiva
Alcuni esempi sono server, middleware, client, ecc.
Un esempio classico di applicazione N-Tier è una applicazione
client-server
15 Architettura Web
16. Le applicazioni N-Tier
Le componenti di una applicazione N-Tier, comunicano tra di
loro tramite dei protocolli di comunicazione
Nel corso degli anni, i continui sviluppi e le nuove necessità
hanno reso necessario trasformazioni, evoluzioni e nuove
implementazioni di protocolli
Lo sviluppo di internet ha coinvolto diversi protocolli, alcuni
dei quali tutt‟ora in uso
16 Architettura Web
17. Le applicazioni N-Tier
I protocolli si sono evoluti, nel limite del possibile,
raggiungendo velocemente l‟utilizzo di massa
Nel tempo le esigenze sono cambiate in base alle nuove
architetture
I protocolli però, sono rimasti sostanzialmente gli stessi
17 Architettura Web
18. Le applicazioni web
Sono le applicazioni disponibili tramite internet
Sono disponibili sotto varie forme:
Portali multiservizi (utenza privata)
Siti specializzati (tematici)
Servizi dedicati all’utenza pubblica
Servizi dedicati alle aziende
18 Architettura Web
19. Le applicazioni web
Le applicazioni Web sono una valida alternativa alle
tradizionali applicazioni Client/Server per vari motivi:
facilità di distribuzione e aggiornamento:
un'applicazione Web si trova interamente sul server, per
cui la pubblicazione sul server risolve i problemi di
distribuzione e aggiornamento
accesso multipiattaforma: l'accesso all'applicazione è
indipendente dall'hardware e dal sistema operativo
utilizzato dagli utenti
19 Architettura Web
20. Le applicazioni web
Altri vantaggi:
riduzione dei costi di gestione: l'uso di Internet come
infrastruttura per un'applicazione Web riduce
notevolmente sia i costi di connettività che i costi di
gestione dei client
scalabilità: un'applicazione Web ben progettata può
crescere insieme alle esigenze dell'azienda senza
particolari problemi
20 Architettura Web
21. Contesti di esecuzione
Le applicazioni web vengono definite anche in base al contesto
in cui dovranno essere inserite
Questo contesto influenza notevolmente l‟architettura finale
dell‟applicazione
In particolar modo le politiche relative alla sicurezza
applicativa risentiranno del contesto in cui vengono calate
21 Architettura Web
22. Contesti di esecuzione
I tre contesti possibili sono:
Internet
• Le applicazioni sono fruibili in rete ad una utenza
generica che accede ai servizi da qualunque posizione
Intranet
• Le applicazioni riguardano un ambito chiuso e sono
accessibili solo dall‟interno di un perimetro ben preciso
Extranet
• Le applicazioni riguardano un ambito chiuso ma sono
accessibili anche dall‟esterno del perimetro classico
22 Architettura Web
23. Architettura web
Identificazione delle componenti principali:
Utente Request
applicazione Server
(browser/applicativo Response Web
)
Dati
Applicazion
e Web
Livello Utenza Livello Applicativo Livello Dati
23 Architettura Web
24. Architettura web
Livello Utenza
Rappresenta la parte di interfaccia disponibile all‟utenza
Nella maggioranza dei casi è costituito dalle pagine
usufruibili dal browser
A questo livello vengono collocate anche quelle
componenti che agiscono appunto lato client (html, script,
applet, activeX, ecc.)
Lo sviluppo di questo lato della applicazione richiede molta
cura per la parte grafica (compatibilità dei vari browser)
24 Architettura Web
25. Architettura web
Livello Applicativo
Rappresenta la parte di logica dell‟applicazione
Fisicamente ci si interfaccia con un Web Server (IIS,
Apache, ColdFusion, ecc)
Il Web Server si preoccupa di ospitare l‟applicazione web e
di gestire il flusso entrante e uscente da essa
Una parte della logica di sicurezza delle applicazioni web
viene spesso collocata direttamente sul Web Server,
riducendo di fatto lo sforzo implementativo
25 Architettura Web
26. Architettura web
Livello Applicativo
L‟applicazione web, residente sul Web Server ha il compito:
• ricevere e di fatto elaborare le richieste dell‟utenza
• interfacciarsi con il livello dati per produrre il risultato
• generare la risposta sia in termini di dati che in termini
di interfaccia utente (pagina con i risultati)
• gestire la logica di sicurezza a suo carico (parzialmente
o totalmente)
• gestire le eccezioni con comportamenti programmati
26 Architettura Web
27. Architettura web
Livello Dati
A questo livello sono presenti i fornitori dei dati,
normalmente dei DBMS
I dati non sono accessibili direttamente dal Web Server, ma
sono normalmente accessibili all‟applicazione web ospitata
In questo stesso lato possono accentrarsi anche altri
servizi, come:
• server di posta elettronica
• server ftp
• server di documentazione
27 Architettura Web
28. Evoluzione dell’architettura web
Nel corso degli anni l‟architettura web ha subito radicali
trasformazioni
I vecchi modelli di pubblicazione e di sottoscrizione delle
informazioni si sono evoluti e trasformati
In questi concetti, si è stabilito un ruolo importante per la
questione della sicurezza
28 Architettura Web
29. Architettura web 1.0
World Wide Web (WWW), Pagine statiche
Internet
Web Server
Pagine Web
29 Architettura Web
30. Architettura web 1.0
World Wide Web (WWW), Pagine dinamiche
Web Server
Internet
Pagine Web
Database
30 Architettura Web
31. Architettura web 1.5
World Wide Web (WWW), Contenuti dinamici
Web Server Internet
Gestione Pagine Web
dei
contenuti
Database
31 Architettura Web
32. Architettura web 2.0
World Wide Web (WWW), Contenuti creati dall’utenza
Web Server Internet
Gestione
dei
Pagine Web contenuti
Database
32 Architettura Web