Il Panorama tecnologico web 2.0€¦ · fonti di dati non correlate), ... linguaggio standard XML...

30
Le infrastrutture tecnologiche del web di seconda generazione Il Panorama tecnologico web 2.0 Elementi di informatica e web – a.a. 2011/2012 di Guido Fusco UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI SOCIOLOGIA - CORSO DI LAUREA IN CULTURE DIGITALI E DELLA COMUNICAZIONE

Transcript of Il Panorama tecnologico web 2.0€¦ · fonti di dati non correlate), ... linguaggio standard XML...

   Le infrastrutture tecnologiche del web di seconda generazione

Il Panorama tecnologico web 2.0

Elementi di informatica e web – a.a. 2011/2012 di Guido Fusco

UNIVERSITÀ DEGLI STUDI DI NAPOLI – FEDERICO II FACOLTÀ DI SOCIOLOGIA - CORSO DI LAUREA IN CULTURE DIGITALI E DELLA COMUNICAZIONE

   Licenza Creative Commons

Il presente materiale è pubblicato con licenza Creative Commons 3.0 Italia

“Attribuzione - Non commerciale - Condividi allo stesso modo”

http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it

   Panorama tecnologico del Web 2.0

Il panorama tecnologico del Web 2.0, oltre che complesso, è in continua evoluzione. Gli

approcci che contraddistinguono questa nuova generazione del web, vanno oltre a

quello che noi, comunemente, intendiamo come sito web.

Cercando di dare ordine ad un mondo ancora in evoluzione, possiamo elencare alcune

delle tecniche che tipicamente compongono un sito Web 2.0:

q  R.I.A. (Rich Internet Application), come AJAX

q  XHTML (linguaggio di marcatura) e CSS (linguaggio di stile)

q  RSS (gruppi di aggregazione)

q  Mashup

q  Cloud computing

q  Realtà aumentata

   Applicazioni RIA

Le RIA o (Rich Internet Application) sono applicazioni web dalle caratteristiche simili alle

applicazioni desktop (cioè residenti sul computer), hanno dimostrato di saper migliorare

l’interattività delle applicazioni web, fornendo all’utente maggiori esperienze d’uso.

In un certo senso le RIA rappresentano una generazione di applicazioni che permette una

“user experience” totalmente rinnovata, fondata sul meglio delle caratteristiche funzionali

e progettuali che finora erano prerogativa alternata del web o delle applicazioni desktop.

Le RIA si caratterizzano per la :

Infatti la parte dell'applicazione che elabora i dati è trasferita a livello client e fornisce una

pronta risposta all'interfaccia utente, mentre la gran parte dei dati e dell'applicazione

rimane sul server remoto, con notevole alleggerimento per il computer utente.

•  dimensione interattiva;

•  multimedialità e per la velocità utente;

•  velocità utente.

   Codici prima e dopo la richiesta

Il Client inoltra la richiesta mediante HTTP

Server Il Server invia al client le varie componenti del documento

Codice HTML prima di una

richiesta

Codice HTML dopo la

risposta del server

Spesso il codice della pagina da cui prende il via la richiesta è in gran parte simile a quello

del documento in cui viene mostrata la risposta dell’elaborazione del server.

Ciò comporta uno spreco inutile di banda e un’interfaccia utente molto più lenta di

quanto potrebbe essere.

   Ajax

Il linguaggio client - side più importante è sicuramente JavaScript. Nonostante in principio

fosse stato scarsamente utilizzato, unito con altri sviluppi in Dynamic HTML è riuscito a

costruire un sistema RIA molto diffuso.

“Google Suggest e Google Maps, sono due esempi di un nuovo approccio alle applicazione web che noi ad Adaptive Path abbiamo chiamato Ajax. Il nome è un’abbreviazione per Asynchronous JavaScript + XML e rappresenta un passo fondamentale verso quello che sarà possibile sul web”

Nonostante queste tecnologie circolassero negli ambienti informatici già da molto tempo,

fu Google che, con applicazioni come Google Map e Google Suggest, pose per primo

l’attenzione su questo HTML dinamico.

James Garrett di Adaptive Path diede un nome a questo modello: Ajax.

   Ajax engine

Confrontato ad altri sistemi di pagine web, Ajax si distingue principalmente per tre

caratteristiche

browser client

browser client

WEB or XML SERVER

USER INTERFACE

USER INTERFACE

WEB SERVER

Ajax engine

JavaScript call HTML+CSS data

HTTP request XML data HTML+CSS data HTTP request

Backend processing

Backend processing

Server-side system Server-side system

CLASSIC

Web application model

AJAX

Web application model

1.  Utilizza un motore (ajax engine)

client-side come intermediario tra

la UI (Interfaccia Utente) e il server.

2.  L’attività dell’utente fa in modo che

JavaScript si rivolga al motore

evitando di chiedere al server il

caricamento di una pagina

3.  Impiega il linguaggio XML tra server

e motore

   Comunicazione asincrona e sincrona

Il termine comunicazione asincrona, significa che si ottiene la risposta da parte del server

quando disponibile, senza aspettare l’apertura di una nuova pagina

Il motore ajax, che consiste di funzioni JavaScript e non richiede alcun plug-in o

installazione da parte dell’utente, è responsabile della comunicazione tra utente e server

e si occupa sia di ciò che deve apparire sull’interfaccia utente, sia di trasmettere le

richieste al server con linguaggio XML

Il modello di una classica applicazione web (comunicazione sincrona faceva in modo

che le azioni dell’utente dessero il via ad una richiesta, veicolata dal protocollo HTTP verso

il server. Questo elaborava i dati e restituiva i risultati al cliente, con una pagina HTML

   Mashup

Un marchio distintivo della seconda generazione di applicazioni Web sono i mashup

Rappresentano un genere davvero innovativo di applicazioni Web interattive che si

interfacciano con dati presi da fonti esterne per creare servizi totalmente nuovi e

rivoluzionari.

L’etimologia di questo termine, dato che è stato preso in prestito dalla scena della pop

music, dove un mashup è una nuova canzone che mixa le tracce vocali e strumentali di

due brani differenti (solitamente appartenenti a generi eterogenei). Come queste canzoni

"pop bastarde", un mashup è una originale ed innovativa unione di contenuti (spesso da

fonti di dati non correlate), fatte per il consumo umano.

   Le tecnologie correlate ai Mashup

Le due principali tecnologie che stanno facilitando lo sviluppo dei mashup.

q  API (Application Programming Interface)

Si indica ogni insieme di procedure disponibili al programmatore, che permette ad altri

programmi di accedere ai servizi offerti da un’applicazione.

Per esempio, si può utilizzare il codice API di Google Maps per inserire

intere mappe di Google sui propri siti web

q  AJAX (Asynchronous JavaScript and XML)

   Alcune tipologie di Mashup: mapping

q  Mapping

All’interno dell’incredibile mole di dati su cose ed attività che si vanno raccogliendo,

contengono anche informazioni geografiche possono essere rappresentati anche

attraverso l’uso delle mappe.

Uno degli eventi che ha catalizzato l’avvento dei mashup è stato l’introduzione da parte

di Google delle Google Maps API.

Il fatto che queste API fossero pubbliche ed aperte ha permesso agli sviluppatori web

(nonché agli hobbisti, agli smanettoni e ad altri) di mescolare tutti questi tipi di dati

(qualsiasi cosa dai disastri nucleari alle mucche della CowParade di Boston) e di mostrarli

su delle mappe.

•  Google (Google Maps)

•  Microsoft (con Virtual Earth);

•  Yahoo (con Yahoo Maps);

•  AOL (MapQuest).

   Alcune tipologie di Mashup: Video e foto

L’emergere di fenomeni come siti di foto hosting e social

networking come Flickr e youtube con le API disponibili hanno

permesso una varietà incredibile di mashup.

Grazie al fatto che coloro che caricano le foto, vi associano dei

metadati (come chi ha scattato la foto, cosa rappresenta la foto,

quando e dove è stata scattata, ecc), coloro che ideano i

mashup possono unire le foto con altre informazioni che possono

essere associate con i metadati.

q  Video e foto

   RSS (Really Simple Syndacation)

L'RSS, acronimo di Really Simple Syndacation, è un sistema basato sul

linguaggio standard XML per la distribuzione di contenuti; è un linguaggio che

permette di distribuire con grande facilità i contenuti di un sito e di riaggregarli

e presentarli sotto altre forme.

Essi, infatti, consentono di monitorare i contenuti di un sito e di usufruirne anche al di fuori del

sito stesso avvisandoci in tempo reale ogni qualvolta vi siano degli aggiornamenti.

Gli aggregatori RSS, detto anche lettore di feed: sono software o

applicazioni Web che raccolgono contenuti web come titoli di

notiziari, blog, podcast, e vlog in un unico spazio per una

consultazione facilitata.

Gli aggregatori riducono il tempo e gli sforzi necessari per

seguire regolarmente aggiornamenti di un sito web e

permettono di creare uno spazio di informazione unico, in

pratica un "notiziario personale."

Nel cloud computing le capacità di elaborazione e di storage vengono fornite da provider

specializzati, attraverso internet, a una moltitudine di utenti

“Cloud computing si intende un insieme di tecnologie

informatiche che permettono l'utilizzo di risorse

hardware (storage, CPU) o software distribuite in

remoto.”

(Wikipedia)

Guardare il video: http://www.youtube.com/watch?v=5ZSCZzo1BnI

   Cloud computing

Vecchia piattaforma di

elaborazione

dalla rete come insieme di dati… …alla rete come insieme di applicazioni

dai “fat client”… …al “thin client”

dal software come prodotto… …al software come servizio

dal software come release… …al miglioramento continuo

dal lavoro individuale… …al lavoro cooperativo

dalla centralità delle funzioni… …alla centralità dei dati

dall’era di Microsoft… …all’era di Google

Nuova piattaforma di

elaborazione

Internet

…si sposta

   funzionamento

Internet

Mainframe computing 1 computer / molti utenti

Client-server computing molti computer / molti utenti

Cloud computing internet / moltissimi utenti

1965 1985 2005 +

   Evoluzione

Google  

Apple  

Microso/  

Yahoo  

Saleforce  

Zoho  

Longjump  

   Alcuni servizi cloud

Si possono distinguere tre tipologie fondamentali di Cloud Computing

q  SaaS (Software as a Service) - Consiste nell'utilizzo di programmi in remoto, spesso

attraverso un server web.

q  PaaS (Platform as a Service) - È simile al SaaS, ma, invece che uno o più programmi

singoli, viene eseguita in remoto una piattaforma software che può essere costituita da

diversi servizi, programmi, librerie, etc.

q  IaaS (Infrastructure as a Service) - Utilizzo di risorse hardware in remoto. Questo tipo di

Cloud è quasi un sinonimo di Grid Computing, ma con una caratteristica imprescindibile:

le risorse vengono utilizzate su richiesta al momento in cui un cliente ne ha bisogno, non

vengono assegnate a prescindere dal loro utilizzo effettivo

   Definizione di Tipologie di Cloud computing

•  Accessible Search •  AdSense •  AdWords •  Alerts Google •  Google Analytics •  Google Answers •  Google Calendar, •  Google Talk, •  Google Page Creator •  Art Project •  Block Notes •  Blog Search •  Blogger •  Google Bookmarks •  Google Book Search •  Google Buzz •  Gmail. •  Google Catalogs •  Google Checkout •  Chrome Cloud Print •  Google Desktop •  Google Docs •  Google Earth •  Health •  iGoogle •  Google Notebook •  Picasa •  Product Search •  Google Wave •  Google Zeitgeist

SaaS (Software as a Service)  PaaS (Platform as a Service)  

•  Accessible Search •  AdSense •  AdWords •  Alerts Google •  Google Analytics •  Google Answers •  Google Calendar, •  Google Talk, •  Google Page Creator •  Art Project •  Block Notes •  Blog Search •  Blogger •  Google Bookmarks •  Google Book Search •  Google Buzz •  Gmail •  Google Catalogs •  Google Checkout •  Chrome Cloud Print •  Google Desktop •  Google Docs •  Google Earth •  Health •  iGoogle •  Google Notebook •  Picasa •  Product Search •  Google Wave •  Google Zeitgeist

   Google labs

Esempi di cloud computing

•  Servizi di storage

•  Servizi di office automation

•  Servizi di web building

•  Servizi di social network building

   Esempi di Cloud computing

cloud computing strorage sono piattaforme che offrono un servizio di file hosting e

sincronizzazione automatica basate su tecnologia cloud computing

Altri servizi di storage: •  http://www.mozy.com •  http://www.box.net •  http://www.wuala.com •  http://www.rapidshare.com

http://www.dropbox.com/

DropBox è un software multi-piattaforma (PC, Mac e Linux) che

semplifica notevolmente la condivisione ed il salvataggio dei

propri file online. Attraverso questo programma è possibile

utilizzare un hard disk remoto senza l’incombenza di imparare

l’uso di nuove interfacce o nuovi comandi: il software è

completamente trasparente all’utente finale così come accade

per iDisk di Apple.

Video dimostrativo: https://www.dropbox.com/screencast

   Cloud computing storage

cloud computing office automation sono applicazioni web che forniscono in una sola

piattaforma online la possibilità di modificare ed elaborare i propri documenti, mediante

un’interfaccia familiare e nota agli utenti che riescono a usarle in modo semplice e

immediato

Thin client

Da<  

Applicazioni  

Da<  

Applicazioni  

Fat client

Esempio:

Esempio:

   Cloud computing automation

cloud computing office

q  Nessun software da scaricare e installare sul proprio computer

q  Nessuna necessità di upgrading del software quando vengono aggiunte nuove funzioni o

eliminati problemi esistenti

q  È sufficiente un thin client con minimi requisiti hardware

q  Si può accedere ai propri documenti praticamente da ogni computer dotato di una

connessione a banda larga

q  È possibile condividere i documenti con altri utenti, senza bisogno di un proprio server

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

(SaaS); in alcuni casi il servizio è gratuito

q  Nessun problema in caso di crash del proprio computer: i documenti sono al sicuro sul

server.

   I pro

cloud computing office

q  Sicurezza dei dati: tutti i propri dati risiedono su un server remoto, di cui non si ha il

controllo (anche se si possono effettuare regolari backup).

q  Velocità: Le office suite attualmente disponibili richiedono spesso una connessione a

banda larga

q  Completezza funzionale: Attualmente, le funzioni fornite dalle suites online sono meno

complete di quelle fornite dalle suite tradizionali.

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

connessi.

   I contro

ü  Semplici wordprocessor, spreadsheet e presentation gratuiti, web based, utilizzabili dal

proprio browser ü  Nessun software 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)

   Google docs

•  Più di un milione di utenti

•  Versione base tutta on-line, gratuita

•  Anche funzioni di blog, e-commerce, adsense;

•  Dopo aver finito sarà possibile scaricare i files creati (per utilizzarli sul proprio spazio web) o

decidere di metterli online sul server weebly: in questo caso il vostro sito sarà raggiungibile

all’indirizzo nomescelto.weebly.com

cloud computing web site builder sono applicazioni web che forniscono in una sola

piattaforma online la possibilità creare siti web dinamici senza che gli utenti abbiano

conoscenza o competenze specifiche

Esistono numerose piattaforme che offrono questo servizio.

Un elenco di 45 web builders: http://tinyurl.com/siti-web

La caratteristica principale che weebly offre è il servizio drag&drop , ovvero

per solo trascinamento è possibile comporre il proprio sito web

   Cloud compiting web site builder

•  Permette di costruire social network “private” •  Nessun software da scaricare: costruzione e accesso vengono fatti online •  Nessuna esperienza di programmazione necessaria •  Oltre mezzo milione di social networks attive

cloud computing social network sono applicazioni web, che permettono di creare siti web

sociali o reti sociali (social network) senza avere cognizioni di programmazione.

Creato da Marc Andreessen, colui il quale ha già scritto il proprio nome nella

storia del web in qualità di inventore del primo browser (Mosaic) e di

fondatore del mito Netscape.

   Cloud computing social network

28

Interfaccia Desktop

Documenti; Cartelle;

Applicazioni

Alta Usabilità

Applicazioni sembrano garantire

un’esperienza utente più ricca di ordini

di grandezza rispetto alle applicazioni

web tradizionali

Ad esempio l’editing di un wordprocessor  

Interfaccia Cloud

Documenti; Cartelle;

Applicazioni

Usabilità???

Web tradizionali   Web cloud computing  

Per reggere il paragone bisogna pensare a

“qualcosa” che permette di distinguersi, non solo

in piacevolezza o l’appeal estetico, ma soprattutto

per il modo semplice, diretto e coinvolgente

attraverso il quale il Cliente fruisce il servizio.

       

   Tecnologia RIA a servizio del cloud

   Realtà aumentata

La realtà aumentata è un'applicazione web-based di ultima generazione che consente di

visualizzare direttamente in streaming una sovrapposizione fra elementi reali e virtuali

(animazioni 3d, filmati, elementi audio e multimediali). La Realtà aumentata, può essere

fruita attraverso i monitor del pc dotati di webcam, grazie all'utilizzo di markers stampati.

L’utente non è più immerso in un ambiente virtuale realizzato al computer, sono le

informazioni ad “uscire” dal mondo virtuale ed invadere la realtà attraverso dispositivi che

permettono di aggiungere layer informativi al mondo fisico.

   Definizione di Internet