Il WWW: Architettura e Tecnologie - Intranet...

54
Il WWW: Architettura e Tecnologie Politecnico di Milano Facoltà del Design – Bovisa Alessandro Sivieri [email protected]

Transcript of Il WWW: Architettura e Tecnologie - Intranet...

Page 1: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Il WWW: Architettura e Tecnologie

Politecnico di MilanoFacoltà del Design – Bovisa

Alessandro Sivieri

[email protected]

Page 2: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Chi sono

• Alessandro Sivieri, PhD– PostDoc @ Dipartimento di Energia

– Esercitatore per questo corso

• Come contattarmi– Il materiale è distribuito sul sito del corso

– Ufficio: VeluxLab, Campus La Masa, Bovisa

– Email: [email protected]

– Ricevimento su appuntamento

Page 3: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Il world-wide-web: Sommario

• Introduzione al WWW– Il web come sistema informativo– Il web come esempio di applicazione client/server

• Principali tecnologie e componenti– Il browser e il server– I protocolli http e ssl– Proxy e firewall– Gli url– Altre tecnologie per il web

• Tecnologie lato client– Linguaggi di scripting (javascript, vbscript), applet, tecnologie basate su plugin (flash,

vrml, ...)• Tecnologie lato server

– Cgi-bin, linguaggi di scripting (asp, jsp, php), servlet

• I motori di ricerca per il web• Internet of Things & Cloud Computing

Elementi di Informatica e Reti di Calcolatori 3

Page 4: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Sistemi informativi lineari e non lineari

• Per pensare e comunicare gli uomini usano da sempre un sistema di informazione lineare ma l’esigenza di reperire più velocemente dati edeffettuare ricerche ha portato alla nascita dei sistemi non lineari– I sistemi non lineari non sono nati con il web, si pensi ad esempio a libri e riviste i

cui indici permettono di reperire direttamente le informazioni cercate senza dover leggere tutto ciò che viene prima

– Si parla anche di ipertesti

• In un sistema non lineare non esiste un ordine predefinito di lettura.

Elementi di Informatica e Reti di Calcolatori 4

Sistema lineare

Sistema non lineare

Page 5: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Sistemi non lineari: WWW

• Il World Wide Web (WWW) è un sistema informativo non lineare– Realizza un ipertesto distribuito e multimediale

– È possibile consultare documenti seguendo un tracciato preimpostato dagliautori o costruendo percorsi dettati da interessi personali

• I documenti per il WWW sono scritti adoperando il linguaggioformale: l’HyperText Markup Language (HTML)– Permette di definire pagine multimediali

• L’accesso alle risorse (pagine) memorizzate dai server è realizzatodai browser web sfruttando un apposito protocollo: l’HyperTextTransfer Protocol (HTTP)

Elementi di Informatica e Reti di Calcolatori 5

Page 6: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Breve storia del web

Anni ’80 - Nasce il concetto di ipertesto– I computer utilizzati non erano abilitati a visualizzare immagini

1991 - Un ricercatore del CERN di Ginevra (Tim Berners-Lee) definisce il protocollo http e il linguaggio html per la costruzione di ipertesti distribuiti

Anni ’90 - Il WWW si diffonde

– L’arrivo dei browser grafici all’interno degli ambienti desktop permette di inserire contenuti multimediali ai documenti HTML

Fine anni ’90 - Si diffondono le tecnologie per la creazione di pagine dinamiche– Gli sviluppatori web iniziano a sostituire le pagine statiche con documenti creati

dinamicamente tramite programmi lato server (script CGI,PHP,JSP,…)

– Le pagine diventano dinamiche anche lato client tramite software studiato ad hoc (activeX, applet Java, codice javascript…)

Anni 2000 – WEB 2.0― Rich Internet Application (AJAX)

― Service-oriented Architectures

― Social web

Elementi di Informatica e Reti di Calcolatori 6

Page 7: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Web servers

Elementi di Informatica e Reti di Calcolatori 7

Date Hosts Web servers %

July 1993 1,776,000 130 0.008

July 1995 6,642,000 23,500 0.4

July 1997 19,540,000 1,203,096 6

July 1999 56,218,000 6,598,697 12

July 2001 125,888,197 31,299,592 25

July 2003 212,570,000 42,298,371 20

July 2005 353,284,187 67,571,581 19

July 2006 439,286,364 88,166,395 20

July 2007 489,774,269 125,626,329 39

July 2008 570,937,778 175,480,931 33

July 2009 681,064,561 239,611,111 35

July 2010 768,913,036 205,714,253 27

Sorgente: Netcraft web server survey

Sorgente: Internet Systems Consortium

Page 8: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Il WWW: funzionamento

• L’utente richiede una risorsa (solitamente un documento) identificata da un URL

• Il browser interpreta l’URL e inoltra una richiesta al server opportuno (ftp, http…)

• Il server fornisce la risorsa richiesta o un messaggio di errore• Il browser interpreta i contenuti del messaggio di risposta• Se il messaggio è un documento HTML il browser si occupa automaticamente

di reperire le sottoparti referenziate nel documento (immagini, applet java...)• La risorsa viene presentato all’utente, eventualmente con l’ausilio di programmi

esterni (mpeg player, audio player)

Elementi di Informatica e Reti di Calcolatori 8

Page 9: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Il www come esempio di applicazione C/S

Elementi di Informatica e Reti di Calcolatori 9

Page 10: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Il web: Architettura generale

Elementi di Informatica e Reti di Calcolatori 10

Browser

ProxyFirewallServer

web

Gateway

Application

Server

HTTP

LAN

Cache

LogHTML,

ASP, JSP, PHP

GIF, JPEG

Programmi CGI

Servlet

HTTPHTTP

CGI

Prot.

applicativo

URL

MIME

LAN-WAN WAN

WAN

DB

...

HTML

javascript

vbscript

applet

flash

vrml

....

Page 11: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Il browser

• Gioca il ruolo del client– Gestisce l’interazione con l’utente

• Interpreta il linguaggio html e presenta i dati a video• Generalmente include:

– un interprete per i principali linguaggi di scripting lato client...– ... una JVM per l’esecuzione degli applet ...– ... e la possibilità di invocare plug-in per visualizzare i formati non

direttamente supportati

• Esempi: Internet Explorer, Safari, Konqueror, Mozilla, Firefox, Opera, Chrome ...

Elementi di Informatica e Reti di Calcolatori 11

Page 12: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Il server web

• Risponde alle richieste del browser– Trasmettendo i dati richiesti (file html, immagini, applet, script flash, ...)

– Invocando i programmi cgi

• Spesso include:– un interprete per i principali linguaggi di scripting lato server ...

– ... una JVM per l’esecuzione delle servlet ...

• Esempi: Apache, Nginx, Internet Information Server

Elementi di Informatica e Reti di Calcolatori 12

Page 13: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

HTTP

• Il protocollo per la comunicazione tra browser e server web

• Sfrutta una connessione TCP sulla porta 80

• Usa gli URL come meccanismo di indirizzamento

• Usa il protocollo MIME per definire il tipo dei dati trasportati

• Caratteristiche:– Ogni connessione permette una singola transazione

Elementi di Informatica e Reti di Calcolatori 13

Page 14: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

SSL: Secure Socket Layer

• Protocollo per la comunicazione sicura tra due partner– Originariamente sviluppato dalla Netscape è oggi uno standard accettato dalla IETF– Nasce per risolvere i problemi di sicurezza nella comunicazione tra client e server web ma

definisce un protocollo generale indipendente dall’applicazione– Si utilizzano url del tipo https://... per indicare comunicazione basata su SSL

• È stato pensato per essere facilmente estensibile e configurabile• Caratteristiche:

– Protocollo con connessione (client e server mantengono diverse informazioni relativi alla sessione a partire dalla chiave crittografica)

– Basato su TCP/IP (porta 443)– Comunicazione crittografata– Possibilità di mutua autenticazione tra client e server basata su certificati– Caching dei parametri della comunicazione per un efficiente ripristino di comunicazioni

interrotte

Elementi di Informatica e Reti di Calcolatori 14

Page 15: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Proxy

• Non tutte le informazioni sono ugualmente popolari

– La popolarità segue una legge “esponenziale” (Zipf)

• Esiste un fenomeno di località nell’accesso alle informazioni

– Di norma passiamo l’80% del tempo sullo stesso 20% di informazioni

– Persone “simili” accedono ad informazioni “simili”

• I sistemi di caching sfruttano queste caratteristiche per aumentare le prestazioni di un sistema

• Proxy– Si pone come intermediario tra client e server– Effettua il caching delle pagine web in maniera da

migliorare le prestazioni percepite dall’utente...– ...riducendo il traffico di rete

Elementi di Informatica e Reti di Calcolatori 15

Page 16: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Firewall

• Dispositivo configurato come barriera per impedire l'attraversamento del traffico da un segmento all'altro della rete

– Filtra le comunicazioni in base al protocollo e/o agli indirizzi sorgente e destinazione

– Generalmente:• Blocca tutte le comunicazioni

provenienti dall’esterno...• ... lascia passare le comunicazioni

provenienti dall’interno

• I firewall migliorano la sicurezza della rete e possono fungere da barriera tra le rete pubbliche e private collegate

• Impiegando un firewall è possibile impedire gli accessi indesiderati, monitorare le sedi alle quali si accede più di frequente ed analizzare la quantità di larghezza di banda che la connessione Internet sta utilizzando

Elementi di Informatica e Reti di Calcolatori 16

SD

INTERNET

LAN (rete sicura)

switch

switch

Firewall

www server

DMZ (demilitarized zone)

Router

Page 17: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Uniform Resource Locator

• Gli URL definiscono una sintassi e una semantica per l’identificazione e l’accesso a risorse su Internet

• Un URL definisce:– quale protocollo (schema) usare per accedere alla risorsa (cioè quale server

contattare)– una coppia <username,password> opzionali (da usare ad esempio nel caso di FTP)– il nome del server e la porta presso cui è disponibile il servizio– il path della risorsa– il nome della risorsa– eventuali parametri da passare alla risorsa

• Esempio:http://www.elet.polimi.it:80/people/index.html

Elementi di Informatica e Reti di Calcolatori 17

Page 18: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

URL: protocolli supportati

• http Hypertext Transfer Protocol

• ftp File Transfer Protocol

• mailto Indirizzo di posta elettronica

• telnet Riferimento a sessioni interattive

• …

Elementi di Informatica e Reti di Calcolatori 18

Page 19: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Esempi di URL

• ftp://guest:[email protected]/pub/guest/dist101.tar.gz;type=I• http://www.w3.org/• http://www.ms.com/cgi-bin/

prog.tcl/pathinfo?mychoice=yes&options=rrf• mailto:[email protected]• telnet://ipese3.elet.polimi.it

Elementi di Informatica e Reti di Calcolatori 19

Page 20: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Il linguaggio HTML

• HyperText Markup Language permette di creare semplici documenti ipertestuali platform-independent

• Versione • 4.01 (versione precedente)• 5 (standard W3C)

• Un documento HTML è costituito da testo e da un insieme di TAG

• I TAG HTML specificano:– Il formato del testo (grassetto, titolo, ecc.)– Connessioni ipertestuali con altri documenti– Altri elementi multimediali che formano la pagina (immagini, video, ...)

Elementi di Informatica e Reti di Calcolatori 20

Page 21: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Hello, world!

<!doctype html>

<meta charset="UTF-8">

<html>

<head>

<title>

Titolo

</title>

</head>

<body>

Hello, world!

</body>

</html>

Elementi di Informatica e Reti di Calcolatori 21

Page 22: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Linguaggi di scripting lato client

• E’ possibile inserire piccoli programmi all’interno del codice html (tag <script>)– Tali programmi vengono interpretati dal browser

• Attraverso tali linguaggi è possibile definire “pagine web dinamiche”– Il cui aspetto e contenuto cambia in risposta a eventi compiuti dall’utente

(es. click del mouse, ...)

• Principale linguaggio– Javascript: standard (ECMA script), utilizzabile con tutti i principali

browser

Elementi di Informatica e Reti di Calcolatori 22

Page 23: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Javascript: Esempio

<!doctype html>

<meta charset="UTF-8">

<html>

<head>

<title>

Javascript

</title>

<script>

function hello() {

alert('Hello, world!');

}

</script>

</head>

<body>

<input type="button" onClick="hello();" value="Click me!"/>

</body>

</html>

Elementi di Informatica e Reti di Calcolatori 23

Page 24: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Plugin

• Plugin: Programmi esterni che si integrano con l’interfaccia del browser per gestire formati proprietari

• I browser più avanzati sono capaci di invocare plugin per gestire i formati che non vengono supportati direttamente

• Esempio: Adobe flash player, Apple Quicktime...

Elementi di Informatica e Reti di Calcolatori 24

Page 25: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Flash

• Linguaggio definito (in origine) da Macromedia per descrivere pagine multimediali animate– Integra funzionalità di descrizione di pagina (orientate a pagine

grafiche) con un linguaggio di scripting per la gestione delle animazioni e degli eventi utente

• Particolarmente indicato per pagine con grafica animata

Elementi di Informatica e Reti di Calcolatori 25

Page 26: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

CGI: Common Gateway Interface

• Si tratta di uno standard per interfacciare applicazioni esterne con server HTTP

• Esempi di utilizzo: generazione automatica di documenti prelevando dati da DB, interpretazione di dati provenienti da form, comunicazione con server applicativi di tipo diverso, ...

• A fronte di una richiesta da parte del client viene eseguito sul server un programma che riceve come parametri i valori specificati nella richiesta

• Il programma produce una risposta che viene “impacchettata” dal server e instradata al client

Elementi di Informatica e Reti di Calcolatori 26

Page 27: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

CGI: Funzionamento

• Un URL può referenziare un programma• Il server viene configurato in modo da tradurre

particolari path (solitamente .../cgi-bin) in invocazioni di programmi in particolari directory (ad es. /usr/lib/cgi-lib)

Elementi di Informatica e Reti di Calcolatori 27

http://www.ms.com/cgi-bin/prg.tcl/usr/info?choice=yes&q=high

Programma Informazioni

Extra

Directory

CGIQuery data

Page 28: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Linguaggi di scripting lato server

• Invocare programmi esterni per generare pagine web “al volo” è molto costoso in termini prestazionali

• Per ottenere lo stesso risultato si possono usare script inseriti all’interno della pagina html...

• ... interpretati dal server per generare la pagina finale vera e propria

• Principali linguaggi oggi in uso:– PHP, Ruby, Javascript (Node.js)

Elementi di Informatica e Reti di Calcolatori 28

Page 29: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Linguaggi di programmazione lato server• Programmi del tutto equivalenti ai programmi CGI ma scritti in

un linguaggio di programmazione, compilati, ed eseguiti in una macchina virtuale integrata nel server– Usate per generare pagine “al volo”...

– ... accedendo a DBMS esterni...

– ... o comunicando con server applicativi di tipo diverso

• Più efficente rispetto alle tecnologie interpretate (si esegue codice “compilato”) e anche rispetto al protocollo CGI (la macchina virtuale nella quale le servlet eseguono è integrata nel server web)

• Principali linguaggi oggi in uso:– ASP.NET (C#, F#, Visual Basic .NET), Java (JSP, Scala…)

Elementi di Informatica e Reti di Calcolatori 29

Page 30: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

I motori di ricerca

• Sono software in grado di aiutare a trovare le informazioni che si stanno cercando nel web.

• Permettono di effettuare un monitoraggio automatico delle risorse presenti in rete e selezionare quelle potenzialmente interessanti in base ai criteri di ricerca impostati dall’utente.

• Un motore di ricerca è quindi uno strumento dinamico che si occupa di scandagliare continuamente la rete e di costruirne una mappa qunto più esaustiva e aggiornata possibile.

Elementi di Informatica e Reti di Calcolatori 30

Page 31: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Come funzionano

• Motori che funzionano per parole chiave• Motori che utilizzano indici di contenuti (detti più propriamente cataloghi)

• I motori di ricerca sono accessibili attraverso appositi siti web. (es.: http://www.google.it)

Elementi di Informatica e Reti di Calcolatori 31

Page 32: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Google – Un server, mille server

• “Google is technologically a large supercomputer. It's a distributed supercomputer among many data centers doing all sorts of interesting things over fiber optic network that eventually are services available to end-users.” - Eric Schmidt, Google CEO, 2007

• “Google runs on hundreds of thousands of servers—by one estimate, in excess of 450,000—racked up in thousands of clusters in dozens of data centers around the world. It has data centers in Dublin, Ireland; in Virginia; and in California, where it just acquired the million-square-foot headquarters it had been leasing. It recently opened a new center in Atlanta, and is currently building two football-field-sized centers in The Dalles, Ore.” – 2006

• “A typical search will require actions from between 700 to 1,000 machines today.” -Marissa Mayer, vice president of Google’s search products and user experience, 2008

• “Our view is it's better to have twice as much hardware that's not as reliable than half as much that's more reliable...You have to provide reliability on a software level. If you're running 10,000 machines, something is going to die every day.” Jeff Dean, Google fellow, 2008

• Il servizio per il tracciamento dei siti web “Pingdom” ha controllato la rete mondiale di server Google per un intero annofino a Ottobre 2007: i 32 portali di Google (google.it, google.co.uk, etc.) hanno avuto un “uptime” di almeno “four nines” – 99.99 %. Il sitoprincipale google.com ha avuto un downtime complessivo di 31 minuti. Il sito migliore èstato Google Brasile (google.com.br), con 3 minuti di downtime

Elementi di Informatica e Reti di Calcolatori 32

Page 33: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Google

• Google ha speso (stando ai bilanci pubblici) $1.9 miliardi in data center nel2006, and $2.4 miliardi nel 2007

• A Dalles, Oregon, il progetto del nuovo sito di Google include tre edifici per data center di 6500 m2, un edificio amministrativo di 1900 m2, dormitoritemporanei per 1300 m2, e 1600 m2 di “cooling towers”

Elementi di Informatica e Reti di Calcolatori 33

Page 34: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Google

• I criteri di Google per selezionare le aree destinate ad accogliere nuovi siti– Buona disponibilità di sorgenti elettriche a basso costo

• Possibilmente fonti “verdi” basate su energie rinnovabili

– Prossimità con fiumi o laghi (per il raffreddamento)– Disponibilità di vaset aree (anche in ragione di sicurezza e privacy)– Prossimità (fisica e di rete) con altri siti Google– Incentivi fiscali

Elementi di Informatica e Reti di Calcolatori 34

Page 35: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Motori di ricerca per parole chiave

• Permettono di effettuare una selezione all’interno delle risorse Internet visualizzando gli indirizzi dei siti web che contengono, nel titolo o all’internodelle pagine, le parole chiave digitate nell’apposito modulo di ricerca.

• Questi motori funzionano attraverso agenti software chiamati spider (ragni)che si occupano di monitorare continuamente la rete classificando i siti in base al tipo di parole contenute al loro interno.

• Il motore fornisce una lista delle risorse trovate a partire dai siti che contengonouna maggiore occorrenza della parola chiave, ma cerca anche di effettuarevalutazioni semantiche sui contenuti del sito analizzando il ruolo che taliparole hanno all’interno del testo.

Elementi di Informatica e Reti di Calcolatori 35

Page 36: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Motori di ricerca strutturati ad indice

• Presentano elenchi di categorie di argomenti o directory.

• Ogni categoria può contenere altre categorie e consente di affinare le ricerchefino ad arrivare all’elenco dei siti reali di un determinato argomento.

• Il sistema di catalogazione dei siti:– sistemi statistici, come quello delle occorrenze di una parola all’interno di un testo, – valutazione critica dei contenuti; gran parte delle operazioni di recensione sono

affidate al lavoro umano.

Elementi di Informatica e Reti di Calcolatori 36

Page 37: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Inserimento delle informazioni nei motori di ricerca

• Spider– Leggono le informazioni contenute nell’header delle pagine HTML ed in

base a queste catalogano il sito

• Segnalazioni– Di webmaster oppure di utenti del web

• Ricercatori– Operatori che ricercano e catalogano i siti visitati

Elementi di Informatica e Reti di Calcolatori 37

Page 38: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Il browser come Sistema Operativo?

• Modifica dei documenti

• Lettura email

• Chatting

• Guardare video

• Giocare

• …

Elementi di Informatica e Reti di Calcolatori 38

Page 39: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Internet of things

• Rete di interconnessione tra oggetti fisici (“cose”), checontengono al loro interno dispositivi elettronici, sensoried attuatori

• Queste “cose” sono in grado di dialogare tra loro e con produttori/operatori/altri dispositivi, scambiandoinformazioni

• Le comunicazioni avvengono attraverso Internet

Page 40: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Lo hype

Page 41: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Qualche scenario di esempio

• Smartphones detection– E.g., congestione delle strade

• Monitoraggio ambientale– Inquinamento dell'aria

– Incendi nelle foreste

– Slavine

– …

• Smart metering– Smart grid

– Fotovoltaico

Page 42: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Qualche scenario di esempio

• Controllo degli accessi perimetrali

• Monitoraggio della supply chain nella rivendita di prodotti– E.g., prodotti in scadenza, rimanenze...

• Monitoraggio dei movimenti di beni a rischio– Medicinali, gioielli, merce pericolosa

• Domotica– Monitoraggio dei consumi

– Controllo remoto

– Rilevamento di effrazioni

Page 43: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Qualche scenario di esempio

• eHealth– Monitoraggio remoto dei pazienti

– Frigoriferi intelligenti (monitoraggio dei consumi)

– Dispositivi indossabili per il fitness

• ...

Page 44: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Esempio

Page 45: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Numeri

• Nel 2008, il numero di “cose” connesse a Internet ha superato la popolazione della Terra– Nel 2020, si prevede ci saranno 50 miliardi di dispositivi

connessi

– Un gruppo di 20 case intelligenti potrà produrre più dati chel'intera Internet nel 2008

• Con i nuovi protocolli in fase di diffusione (IPv6), gliindirizzi Internet messi a disposizione saranno ~340 * 1036 (circa 100 per ogni atomo presente sulla Terra)

Page 46: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Qualcosa di nuovo?

• Le tecnologie che stanno dietro ad IoT non sonoeffettivamente nuove (il termine è stato coniato nel 1999, uno dei primissimi esempi risale agli anni '80)...

• … d'altro canto:– I costi dell'hardware (sensoristica) sono estremamente bassi

– Il boom del cloud permette di avere facilmente computer (virtuali) pubblici su Internet (ne parliamo a breve)

– Oggi se non hai un'app non sei nessuno :)

Page 47: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Hardware a basso costo

• Arduino ha mostrato come avere hardware:– A basso costo

– Facilmente interfacciabile con sensori e la Rete

– Utilizzabile anche da non esperti

– Anche le grosse aziende sono entrate nel mercato (Intel, Texas Instruments, Microsoft)

Page 48: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Problematiche

• Problematiche tecniche– Sistemi a bassissimo consumo

– Capacità della Rete di supportare milioni di dispositivi

– Capacità di storage dei dati (parliamo di petabyte!)

• Problematiche di sicurezza– Chi è in grado di accedere al sistema che controlla un

pacemaker?

• Problematiche di privacy– Chi è in grado di accedere ai sistemi di monitoraggio delle

culle? (CSI Cyber)

– … o in generale a tutti i dati monitorati e raccolti (da chi?)...

Page 49: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Cloud computing

• Condivisione delle risorse: infrastrutture e servizi di computazione

• Massimizzare l’utilizzo delle risorse: queste vengonoallocate dinamicamente quando necessario– Un utente può avere un suo servizio attivo (ad es. un servizio

Web, un sito Web, un sistema di analisi dei dati…), e quandoriceve un picco di utenti il servizio viene automaticamentereplicato su altri server, per soddisfare tutti gli utenti

– Una server farm può avere molte risorse allocate a servizieuropei quando è giorno in Europa, ed a servizi americaniquando è giorno negli USA

Page 50: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Cloud computing

• Questo sistema ha alcuni pregi:– L’infrastruttura è mantenuta in un contesto professionale (ad

es. sostituzione dell’hardware, aggiornamento software, sicurezza dei sistemi…)

– I costi dipendono da quante risorse sono utilizzate in ciascunmomento

Page 51: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Servizi offerti dal Cloud

Page 52: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Servizi offerti dal Cloud

• Infrastructure as a Service (IaaS): viene data la possibilitàdi avere macchine virtuali, da configurare da parte degliutilizzatori (Amazon EC2)– Servizi aggiuntivi: supervisori, storage, firewall, load

balancers…

• Platform as a Service (PaaS): vengono dati sistemi giàpreinstallati, in cui possono essere installate direttamentele applicazioni (Microsoft Azure)

• Software as a Service (SaaS): vengono già fornite le applicazioni, gli utenti vi accedono direttamente da client (caricando e scaricando i dati) (Dropbox, Google Drive…)

Page 53: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Problemi del Cloud Computing

• Privacy: tipicamente, le infrastrutture sono soggette alleleggi locali del posto dove si trovano le server farm– Anche i dati ivi contenuti

• Diritti dei contenuti caricati dagli utenti

• Lock-in delle aziende

• Sicurezza informatica– Data breach

• “Green computing”– Ricerca di utilizzo di energie rinnovabili per alimentare le

grandi server farm

– Costruzione delle server farm in luoghi adatti

Page 54: Il WWW: Architettura e Tecnologie - Intranet DEIBhome.deib.polimi.it/cugola/pub/infoDes_05_tecWeb_2015-2016.pdf · – I sistemi non lineari non sono nati con il web, si pensi ad

Politecnico di Milano

Cloud computing & IoT

• Diverse aziende permettono di caricare (a basso costo) dati da dispositivi online, ed offrono la possibilità di analizzarli– E visualizzarli facilmente ad es. su smartphone

• Gli enti pubblici mettono a disposizione i loro dati (ad es. informazioni sui trasporti pubblici) per permettere lo sviluppo di nuove applicazioni