lezione 6: il web come piattaforma

51
IL WEB COME PIATTAFORMA Roberto Polillo, www.rpolillo.it 1 Università degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso Web 2.0 AA 2009-2010

Upload: roberto-polillo

Post on 18-Nov-2014

3.224 views

Category:

Education


1 download

DESCRIPTION

Slide del corso sul Web 2.0 tenuto all'Università di Milano Bicocca da R.Polillo - Edizione ottobre 2009. Vedi anche www.corsow.worpress.com

TRANSCRIPT

Page 1: Lezione 6: Il Web come piattaforma

IL WEB COME PIATTAFORMA

Roberto Polillo, www.rpolillo.it

1

Università degli Studi di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione

Corso Web 2.0AA 2009-2010

Page 2: Lezione 6: Il Web come piattaforma

2

Web 2.0: il vero salto epocale…

Il web come piattaforma di elaborazione

Piattaforma: infrastruttura hardware e software di base che permette di eseguire applicazioni softwareRicordate il vecchio slogan Sun: “The network is the computer”?

2

Page 3: Lezione 6: Il Web come piattaforma

3

internet

Non è un fatto tecnologico, ma un cambio di paradigma

La piattaforma elaborativa si sposta da qui…

… a qui

dalla rete come insieme di siti… … alla rete come insieme di applicazionidai “fat client” … … ai “thin client”dal sw come prodotto … al sw come serviziodalle sw release… … al continuous improvementdall’architettura proprietaria… … all’architettura apertadal lavoro individuale… … al lavoro cooperativodalla centralità delle funzioni… … alla centralità dei datidalla connessione… … alla comunicazionedall’era della Microsoft… … all’era di Google

3

R.Polillo – Corso Web 2.0 (ott 2009)

Page 4: Lezione 6: Il Web come piattaforma

4

Computing paradigms

Internet

Mainframe computing1 computer / molti utenti

Client-server computingmolti computer / molti utenti

Cloud computinginternet / moltissimi utenti

1965 1985 2005+

Page 5: Lezione 6: Il Web come piattaforma

5

Cloud computing

The cloud (la nuvola) è una metafora per Internet Nel cloud computing le capacità di elaborazione e di

storage vengono fornite da provider specializzati, attraverso internet, a una moltitudine di utenti

“Cloud computing è un paradigma di elaborazione in cui risorse dinamicamente scalabili e spesso virtualizzate vengono fornite come servizio attraverso la rete. Non è necessario che gli utenti abbiano conoscenza o competenze sulla infrastruttura tecnologica che li supporta.” (Wikipedia)

http://en.wikipedia.org/wiki/Cloud_service

5R.Polillo – Corso Web 2.0 (ott 2009)

Page 6: Lezione 6: Il Web come piattaforma

6

Cloud computing: alcuni fornitori

Da Wikipedia R.Polillo – Corso Web 2.0 (ott 2009)

Page 7: Lezione 6: Il Web come piattaforma

7

Virtualizzazione

7R.Polillo – Corso Web 2.0 (ott 2009)

Acquisto il servizio da un singolo fornitore, ma le risorse che utilizzo possono provenire da una moltitudine di fornitori / infrastrutture diversi, a me non noti

Page 8: Lezione 6: Il Web come piattaforma

8

Computing paradigms

Internet

Mainframe computing1 computer / molti utenti

Client-server computingmolti computer / molti utenti

Cloud computinginternet/ moltissimi utenti

1965+ 1985+ 2005+

Page 9: Lezione 6: Il Web come piattaforma

9

Terminologia

Nell’ambito del cloud computing si usano molti termini, sigle, slogan, che cambiano spesso.

Per es.: Utility computing: quando si forniscono risorse “a

consumo”, come nelle public utilities (es.: fornitura di gas o di energia elettrica)

Software as a service (SaaS): quando si forniscono servizi applicativi

Grid computing: quando si utilizzano risorse di calcolo distribuite, utilizzando cicli di CPU inutilizzati

Rem tene, verba sequentur…

R.Polillo – Corso Web 2.0 (ott 2009)

Page 10: Lezione 6: Il Web come piattaforma

10

Cloud computing: tipi di servizioIN

TER

NET

Prevalentemente per gli sviluppatori di sw, per es.:Amazon Web Services (2006+)IBM Blue Cloud (2008+) Google App Engine (2008+)Microsoft Windows Azure (2009+)

Per es.: Facebook, Youtube, Skype, Google Apps, Salesforce, Dropbox,

Servizi applicativi di rete accessibili via API. Per es.: identity, payment, map, …,

Device (hw+sw) per accedere al cloud computing. Es.: mobiles, thin clients

Immagine da Wikipedia

CLIENT

Page 11: Lezione 6: Il Web come piattaforma

11

Esempio: Amazon Web Services (AWS)

Un insieme di servizi remoti per gli sviluppatori, di tipo vario, “a consumo”, offerti sulla rete da Amazon.com, che utilizza la gigantesca infrastruttura hw e sw di Amazon:

• Amazon Elastic Compute Cloud (Amazon EC2): scalable computer capacity (dal 2006)“Amazon EC2 provides a truly elastic computing environment. Amazon EC2 enables you to increase or decrease capacity within minutes, not hours or days.”

• Amazon S3 (Simple Storage Service): online storage web service (da 2006)

• ….

http://en.wikipedia.org/wiki/Amazon_Web_Services R.Polillo – Corso Web 2.0 (ott 2009)

Page 12: Lezione 6: Il Web come piattaforma

12

Esempio: www.dropbox.com Servizio on-line di storage (da fine 2008) Semplice interfaccia a folder: privati, pubblici, condivisi Si deve installare un client (più piattaforme) Freemium Usa Amazon S3 Video: https://www.getdropbox.com/screencast Altri servizi di storage:

- http://mozy.com/ (backup services)- http://www.box.net/- http://www.wuala.com/ (tecnologia “grid”)- http://rapidshare.com (trasferimento di files)- …

Page 13: Lezione 6: Il Web come piattaforma

13

Esempio: www.37signals.com

Backpack: http://backpackit.com/ Semplice intranet per lavoro cooperativo

Basecamp: http://backpackit.com/Semplice project management

Highrise: http://highrisehq.com Semplic contact management

Provarli per la didattica

Page 14: Lezione 6: Il Web come piattaforma

Esempio: www.webs.com

Web site builder molto facile da usare, interamente on-line

Hosting della versione base gratuita: spazio e banda limitati, non ad-free

Dal 2001, ora più di 20 milioni di siti Funzioni:

Blog Forum Members (semplice social network) Upload di files, foto, video, … E-commerce (shopping cart, pagamento via Paypal) Site statistics (attraverso www.clicky.com) Vari widgets Molti temi grafici predefiniti

14

Page 15: Lezione 6: Il Web come piattaforma

Esempio15

Page 16: Lezione 6: Il Web come piattaforma

Esempio: temi16

Page 17: Lezione 6: Il Web come piattaforma

Esempio:www.weebly.com

Drag&drop web site builder, interamente on-line, facilissimo da usare

Dal 2006 (?), ora più di un milione di utenti Versione base tutta on-line, gratuita Anche funzioni di blog, e-commerce, adsense http://en.wikipedia.org/wiki/Weebly

17

Page 18: Lezione 6: Il Web come piattaforma

Esempi

http://david.weebly.com Il blog del creatore di Weebly

http://golf4acure.weebly.com/ http://video.weebly.com Mia prova:

http://robertop.weebly.com

18

Page 19: Lezione 6: Il Web come piattaforma

19

Esempio: www.ning.com

Permette di costruire social network “private” Nessun software da scaricare: costruzione e

accesso vengono fatti online Nessuna esperienza di programmazione necessaria Hosting di base gratuito (in cambio pubblicita);

servizi premium a pagamento Oltre mezzo milione di social networks attive

R.Polillo – Corso Web 2.0 (ott 2009)

Page 20: Lezione 6: Il Web come piattaforma

20

Office suites: possibilità

DATA

APP

OFFLINE

Es. MS OFFICE

DATAAPPIBRIDA

Es. MS OFFICE LIVE WORKSPACE

Fat client

DATA

APPONLINE

Es. GOOGLE DOCS

INTERNET

Thin client

20R.Polillo – Corso Web 2.0 (ott 2009)

Page 21: Lezione 6: Il Web come piattaforma

21

Online office suites: vantaggi

Nessun software da scaricare e installare sul proprio computer Nessuna necessità di upgrading del software quando vengono aggiunte nuove

funzioni o eliminati problemi esistenti È sufficiente un thin client con minimi requisiti hardware Si può accedere ai propri documenti praticamente da ogni computer dotato di

una connessione a banda larga È possibile condividere i documenti con altri utenti, senza bisogno di un proprio

server Non si deve acquistare una licenza software (e i suoi upgrade). Ci si abbona al

servizio (SaaS); in alcuni casi il servizio è gratuito Nessun problema in caso di crash del proprio computer: i documenti sono al

sicuro sul server.

R.Polillo – Corso Web 2.0 (ott 2009)

Page 22: Lezione 6: Il Web come piattaforma

22

Online office suites: svantaggi

Data security. Tutti i propri dati risiedono su un server remoto, di cui non si ha il controllo (anche se si possono effettuare regolari backup).

Velocità. Le office suite attualmente disponibili richiedono spesso una connessione a banda larga

Completezza funzionale. Attualmente, le funzioni fornite dalle suites online sono meno complete di quelle fornite dalle suite tradizionali.

Non è agevole lavorare off-line: per ricevere e trasmettere le modifiche occorre essere connessi.

Vedi http://en.wikipedia.org/wiki/Online_Office

22R.Polillo – Corso Web 2.0 (ott 2008)

Page 23: Lezione 6: Il Web come piattaforma

23

Google Docs

Semplici WP, spreadsheet e presentation gratuiti, web based, utilizzabili dal proprio browser

Nessun sw da installare sul client; per default i documenti vengono salvati sui server Google i propri documenti sono potenzialmente accessibili da qualunque PC in rete

Supporto al lavoro cooperativo in rete (condivisione, accesso, editing contemporaneo, vedi video seguente)

I documenti possono essere pubblicati in rete (URL) Servizio “premium” a pagamento (per aziende) Basic info: http://docs.google.com/support/bin/answer.py?answer=49008&topic=8613 Per usarlo: http://docs.google.com/?hl=en&pli=1#all

23R.Polillo – Corso Web 2.0 (ott 2009)

Page 24: Lezione 6: Il Web come piattaforma

25

Microsoft Office Live Workspace

Accesso dai pacchetti di Office a workspace remoto gestito da Microsoft

Possibilità di condivisione di documenti e lavoro cooperativo Possibilità di visione (e alcune funzioni) da browser 2008: versione beta, gratuita http://workspace.officelive.com/

25R.Polillo – Corso Web 2.0 (ott 2009)

Page 25: Lezione 6: Il Web come piattaforma

26

www.zoho.com

Page 26: Lezione 6: Il Web come piattaforma

27

Cloud computing: vantaggi

Semplificazione del data center Riduzione dei costi fissi Scalabilità su richiesta

Page 27: Lezione 6: Il Web come piattaforma

28

Cloud computing: “sfide” e obbiettivi

Sfide: Sicurezza Interoperabilità di dati e applicazioni Portabilità di dati e applicazioni Governance e gestione Misure e controlloObbiettivi: Scelta Flessibilità Velocità e agilità Competenza

Da: http://www.opencloudmanifesto.org/

(discussione aperta, in corso, su “open cloud”)

Page 28: Lezione 6: Il Web come piattaforma

31

Cloud computing: alcuni aspetti importanti

Sicurezza Privacy User interface

31R.Polillo – Corso Web 2.0 (ott 2009)

Page 29: Lezione 6: Il Web come piattaforma

32

Sicurezza

Information security:la protezione dell’informazione e dei sistemi informativi da accesso, uso, divulgazione, distruzione, modifica non autorizzati.

http://en.wikipedia.org/wiki/Information_security

32R.Polillo – Corso Web 2.0 (ott 2009)

Page 30: Lezione 6: Il Web come piattaforma

33

Sicurezza

Qui (PC o rete privata) tutti i miei dati sono controllati da me

In rete i miei dati sono controllati dai miei service provider

FIREWALLrete

locale

33

Le 6 dimensioni della security:1. Confidenzialità2. Possesso o controllo3. Integrità 4. Autenticità 5. Disponibilità6. Utilità

(Parker, http://en.wikipedia.org/wiki/Parkerian_hexad )

R.Polillo – Corso Web 2.0 (ott 2009)

Page 31: Lezione 6: Il Web come piattaforma

34

Privacy

La privacy è il diritto alla riservatezza delle informazioni personali e della propria vita privata

La privacy si traduce spesso nella capacità di una persona di impedire che le informazioni che la riguardano diventino note ad altri, qualora il soggetto non abbia volontariamente scelto di fornirle diritto al controllo sui propri dati personali

http://it.wikipedia.org/wiki/Privacy In Italia: http://www.garanteprivacy.it/garante/navig/jsp/index.jsp

34R.Polillo – Corso Web 2.0 (ott 2009)

Page 32: Lezione 6: Il Web come piattaforma

35

Internet privacy

Problema enormemente articolato e complesso Le normative dei vari paesi sono molto diverse, ma la rete è globale Dati sensibili e non sensibili; dati permanenti o non permanenti (la

sensibilità di un dato può cambiare nel tempo) Dati aggregati e dati disaggregati: la sensibilità può cambiare con il

livello di aggregazione Spesso è sufficiente poter controllare in modo “ragionevolmente”

sicuro a chi può essere rivelata la propria identità e i dati personali ad essa associati

http://en.wikipedia.org/wiki/Internet_privacy

35R.Polillo – Corso Web 2.0 (ott 2009)

Page 33: Lezione 6: Il Web come piattaforma

36

Aggregazione automatica

Per avere un’idea di che cosa si potrebbe fare (=si farà) date un’occhiata a:www.whoishim.com

In questo caso si tratta di un semplice mashup di vari strumenti, ma…pensate a un’aggregazione “intelligente” dei dati provenienti dalle varie fonti

R.Polillo – Corso Web 2.0 (ott 2009)

Page 34: Lezione 6: Il Web come piattaforma

37

Anonimia

Un elemento di base da considerare per la internet privacy è la identificabilità dell’utente

L’anonimia totale deve essere permessa? Quando? (Può essere usata a scopi buoni o cattivi)

L’anonimia totale è tecnicamente possibile? Numerose tecniche e modi per superarle

Pseudonimi /nickname/a.k.a. False identità

http://people.dsv.su.se/~jpalme/society/anonymity.html

R.Polillo – Corso Web 2.0 (ott 2009)

Page 35: Lezione 6: Il Web come piattaforma

Quale interfaccia utente nel cloud computing?

Accenneremo a tre aspetti: Il modello dell’interfaccia: oltre il desktop? Lo stile dell’interfaccia: le Rich Internet

Applications (RIA) Modalità di identificazione

38

Page 36: Lezione 6: Il Web come piattaforma

39

Il modello dell’interfaccia

Metafora del desktop:- documenti- folder- applicazioni

- documenti [condivisi]- search- siti/servizi- link- “storie” dell’interazione con altri utenti

39

Il “desktop” è nato in un contesto completamente differente, ed è ormai inadeguato. Quali nuovi modelli prevalenti di interazione si svilupperanno ?

R.Polillo – Corso Web 2.0 (ott 2009)

Page 37: Lezione 6: Il Web come piattaforma

40

Evoluzione

40

2. Web 1.0

Il mio sito con i miei documenti

3. Web 2.0

I miei documenti dai miei provider

Anche i miei siti sono documenti!

1. PCI miei documenti

desktop

?

R.Polillo – Corso Web 2.0 (ott 2009)

Page 38: Lezione 6: Il Web come piattaforma

41

Esempio: Flock (un “social browser”)

Basato sul codice di Firefox, si distingue da questo per la capacità di integrarsi con i principali siti di social networking e di blogging, tra i quali Twitter, Facebook, YouTube, WordPress, Blogger, Xanga e del.icio.us.

Permette agli utenti di visualizzare contatti, contenuti e risorse di questi siti in un'apposita barra laterale o orizzontale del browser, e condividere per mezzo di semplici operazioni di drag and drop testi, link, foto, video ed altri contenuti digitali

Scaricabile gratuitamente da http://www.flock.com/ Video recensione (6’) in: http://it.youtube.com/watch?v=y9Oqj4t586Y Anche in: http://online.wsj.com/article/SB121806980256818899.html?mod=2_1571_topbox

41R.Polillo – Corso Web 2.0 (ott 2009)

Page 39: Lezione 6: Il Web come piattaforma

42

Lo stile dell’interfaccia: le RIA

Si caratterizzano per la forte interattività (ciclo stimolo-risposta molto rapido - es.: drag&drop)

Usano tecnologie in cui la parte dell'applicazione che gestisce l’interfaccia utente è trasferita sul client dall’applicazione stessa, all’interno del browser l’interazione con l’utente non coinvolge in modo sostanziale il server remoto e non produce sostanziale traffico in rete

Esempi: Ajax, Adobe Flex Permettono quindi un livello di interazione con l’utente che prima

era possibile soltanto per applicazioni desktop

42R.Polillo – Corso Web 2.0 (ott 2009)

Page 40: Lezione 6: Il Web come piattaforma

43

43

Google Earth

Page 41: Lezione 6: Il Web come piattaforma

44

http://maps.google.it/

Page 42: Lezione 6: Il Web come piattaforma

45

Google Streetviewhttp://maps.google.com/help/maps/streetview/

R.Polillo – Corso Web 2.0 (ott 2009)

Page 43: Lezione 6: Il Web come piattaforma

46

Google car

R.Polillo – Corso Web 2.0 (ott 2009)

Page 44: Lezione 6: Il Web come piattaforma

47

Identificazione dell’utente

47

Sul mio PC mi identifico una sola volta(es.:al login)

In rete mi devo identificare ad ogni sito / applicazione

Vorrei avere un meccanismo di single sign on

R.Polillo – Corso Web 2.0 (ott 2009)

Il problema: fornire la proprie “credenziali”, in modo tale da essere identificato con certezza (esempio tipico: userid + password)

Page 45: Lezione 6: Il Web come piattaforma

48

Single sign on: prima soluzione

Applicazione locale che tiene traccia di tutte le mie diverse identità, e mi supporta nell’accesso

48

R.Polillo – Corso Web 2.0 (ott 2009)

Page 46: Lezione 6: Il Web come piattaforma

49

Single sign on: seconda soluzione

Servizio di rete che mi identifica e “garantisce” la mia identità alle altre applicazioni

49

Esempio: OpenID

R.Polillo – Corso Web 2.0 (ott 2009)

Page 47: Lezione 6: Il Web come piattaforma

50

OpenID

Meccanismo proposto da Brad Fritzpatrick nel 2005 (ancora in fase di diffusione)

Permette agli utenti di accedere a differenti servizi on-line utilizzando una unica identità digitale (eliminando la necessità di ricordare userid e password differenti per ogni sito)

La tecnologia è non proprietaria e gratuita Nel 2007 costituita la OpenID Foundation “to help promote, protect

and enable the OpenID technologies and community”. Ne fanno parte, fra gli altri, Microsoft, Google, IBM, Yahoo!, Verisign

http://openid.net

50R.Polillo – Corso Web 2.0 (ott 2009)

Page 48: Lezione 6: Il Web come piattaforma

51

OpenID: in sintesi

L’OpenID ha la forma di un URL (es.: mario.myopenid.com)

Richiede che l’utente si registri con un OpenID Provider attraverso il quale effettuerà registrazioni e accessi ai siti che supportano il sistema

Il servizio del provider (es. myopenid.com, claimid.com) è gratuito

Video introduttivo in italiano: http://www.ictv.it/file/vedi/355/openid/

51R.Polillo – Corso Web 2.0 (ott 2009)

Page 49: Lezione 6: Il Web come piattaforma

52

In pratica…

• Mi registro presso un OpenID provider, dando una password psw e ottenere il proprio OpenID (es.: mario.myopenid.com)

• Mi registro presso un’applicazione che supporta OpenID, identificandomi come mario.myopenid.com .L’applicazione chiederà conferma (ed eventuali altri dati, es. email) attraverso il provider

• Quando voglio accedere all’applicazione, mi identifico come mario.myopenid.com

• Allora l’applicazione chiederà al provider di autorizzare l’accesso. • Il provider mi chiederà conferma (chiedendomi la password psw

(sempre quella) e autorizzerà l’accesso. NB psw non viene comunicata all’applicazione

52R.Polillo – Corso Web 2.0 (ott 2009)

Page 50: Lezione 6: Il Web come piattaforma

53

Es. registrazione a ma.gnolia

53

1

2

3

Page 51: Lezione 6: Il Web come piattaforma

55

Il Web come piattaformaLAVORO INDIVIDUALE

Iscriversi a www.dropbox.com (o altro strumento analogo) e provarlo per backup personale, pubblicazione e condivisione di files

Realizzare un semplice sito web utilizzando www.webs.com, www.weebly.com

Iscriversi a Google e sperimentare Google Docs, che dovrà essere usato nei progetti di gruppo

Leggere l’Open Cloud Manifesto http://www.opencloudmanifesto.org/

Privacy: cercare informazioni su una persona nota con www.whoishim.com

Creare un proprio openid e imparare a usarlo Sperimentare Google map e street view

55R.Polillo – Corso Web 2.0 (ott 2009)