1. `
UNIVERSITA DEGLI STUDI DI TRENTO
`
FACOLT A DI E CONOMIA
C ORSO DI L AUREA IN N ET-E CONOMY. T ECNOLOGIA E MANAGEMENT DELL’ INFORMAZIONE
E DELLA CONOSCENZA
Applicazioni ICT: il Mash-up
Autore
Alessandro Trentin
Matricola
126134
A NNO ACCADEMICO (2008-2009)
3. Capitolo 1
Il concetto
1.1 Mash-up
Gli strumenti Web 2.0 stanno modificando radicalmente il nostro modo di comunicare sul Web.
Chiunque pu` realizzare un blog in una manciata di minuti e pubblicare video online con estrema
o
a u `
facilit` . Ancor pi` semplice e l’adesione ad un social network. Sia che si parli di social network
dedicati ai rapporti personali e al tempo libero come Facebook o MySpace, sia che ci si riferisca
a quelli che nascono con scopi professionali come LinkedIn, sempre pi` persone si iscrivono a
u
questi servizi di comunicazione 2.0. Da un lato, quindi, abbiamo queste piattaforme che rendono
molto semplice la pubblicazione di testi, immagini e video, e dall’altro abbiamo gli internauti, che,
muovendosi con disinvoltura tra i vari servizi, lasciano tracce sparse della propria identit` tra un
a
`
social network e l’altro. La conseguenza immediata e la frammentazione della propria presenza
on-line in diversi punti del Web. Vista la frequenza con cui la nostra identit` on-line si ristruttura,
a
si aggiorna e arricchisce di nuovi contenuti multimediali, l’idea stessa di sito personale statico in
cui raccogliere le informazioni e i contributi multimediali che ci riguardano diventa improponibile:
aggiornarlo richiederebbe troppo tempo.
1.1.1 Le API
`
In progetti software molto vasti, specialmente dove e attesa e desiderata l’interazione tra diversi
`
programmi, e necessario sviluppare interfacce per la programmazione dell’applicazione (API, Ap-
plication Programming Interfaces) ben definite. Si pu` pensare alle API come a standard validi in
o
un ambiente di programmazione, ma anche e soprattutto ad un insieme di procedure disponibili ad
un programmatore, che possono essere riutilizzate al momento dello sviluppo di un’applicazione.
1
4. 1.1. Mash-up 2
`
L’utilizzo delle API e quindi un metodo per ottenere un’astrazione tra hardware e programmatore,
o tra software a basso ed alto livello, che permette agli sviluppatori di non dover riscrivere per ogni
applicativo tutte le funzioni di base e di riprogettare o migliorare le funzioni all’interno dell’API
senza cambiare il codice che si affida ad essa (Abramo VIncenzi, 2009).
1.1.2 Caratteristiche mash-up
La soluzione per gestire la complessit` e la frammentariet` della nostra identit` digitale on-line si
a a a
chiama mash-Up, parola che indica la possibilit` tecnica di aggregare informazioni e servizi offerti
a
da diversi siti in singole pagine Web (Daniele Citterio, 2008). Le combinazioni sono pressoch´ e
infinite.
Il significato di mash-up viene spesso spiegato in italiano indicando che, letteramente, vuol
`
dire poltiglia. Forse e un po’ riduttivo: poltiglia pu` avere connotazioni negative mentre in genere
o
con un’azione di mashing up si riduce tutto a pezzetti per ottenere qualcosa che ha una consistenza
omogenea (Mauro Rossi, 2009).
`
In inglese il termine mash-up si e diffuso inizialmente nel campo della pop music. Quando si
usa la musica di una o pi` canzoni, le parole di altre e le si mixa insieme per creare una nuova
u
`
canzone si fa un mash-up. Un mash-up e dunque un pastone di elementi diversi con cui si creano,
a loro volta, nuovi elementi.
`
Trasferendo il concetto dalla pop music, un mash-up e una fusione dei contenuti o dei servizi
di una o pi` applicazioni Web che d` vita ad una nuova applicazione Web.
u a
I mash-up uniscono alcune delle istanze pi` innovatrici del Web 2.0: la visione della rete come
u
una piattaforma in cui, grazie a protocolli condivisi, le applicazioni sono in grado di comunicare
fra loro, la tendenza da parte dei siti pi` noti, come Google, eBay o Yahoo!, di rendere disponibili
u
liberamente i propri contenuti e servizi e la partecipazione di utenti e sviluppatori che sempre pi`
u
`
diventano creatori indipendenti di contenuti. L’unione di questi servizi e reso possibile dall’uso
delle API, ossia dalle interfacce pubbliche di programmazione che molti siti rilasciano gratuita-
`
mente per la creativit` degli sviluppatori (Daniele Citterio, 2008). Google Maps e uno dei servizi
a
pi` utilizzati per i mash-up, ma gli esempi non mancano per YouTube e per decine di altri servizi.
u
`
Un esempio emblematico di questa tendenza e il network professionale LinkedIn che ha lan-
ciato un nuovo servizio che va sotto il nome di “Applications”. Questa funzionalit` d` agli utenti la
a a
possibilit` di integrare all’interno del proprio profilo informazioni provenienti da una serie di piat-
a
taforme esterne. Si possono in tal modo inserire ed aggiornare automaticamente: i post del proprio
blog gestito con Wordpress, presentazioni condivise online con Google Presentation o SlideShare,
5. 1.1. Mash-up 3
informazioni sui propri viaggi gestite con My Travel, i post dei propri blog preferiti tramite Blog
Link, ed altro ancora.
Le ragioni che hanno spinto LinkedIn verso questo passo sono condensate in questa frase pub-
blicata sul sito: “LinkedIn Applications enable you to enrich your profile, share and collaborate
with your network, and get the key insights that help you be more effective“ (Linkedin, 2009).
Per creare un mash-up si utilizzano di solito le API rilasciate liberamente dalle diverse appli-
cazioni di cui si vogliono unire i servizi. Le API offrono dei protocolli, ossia un set di istruzioni
e formati di dati, che vanno gestite attraverso i tipici linguaggi di programmazione Web come
PHP o ASP.Net. Per utenti non interessati o comunque non in grado di utilizzare i linguaggi
di programmazione, pu` utilizzare alcuni servizi che permettono di creare mash-up in modalit`
o a
visuale:
• Google Mash-up Editor, pi` indicato per sviluppatori;
u
• Microsoft Popfly, basato quasi completamente su interazioni con il mouse;
• Yahoo! Pipes, completo ma non completamente intuitivo per gli utenti che si affacciano per
la prima volta verso l’utilizzo di questa tipo di applicazione.
In sostanza, con l’utilizzo di mash-up, si vogliono raggiungere tre obiettivi:
• rendere i profili degli utenti sempre pi` ricchi e completi;
u
• favorire la collaborazione e la condivisione di informazioni tra network;
• (conseguenza dei primi due punti), consentire un utilizzo della piattaforma sempre pi` effi-
u
ciente.
Riassumendo, la popolarit` del mash-up proviene da:
a
• Capacit` di fornire interattivit` all’utente e alle applicazioni;
a a
• Capacit` di aggregare e reinventare gli insiemi di dati prodotti da terzi.
a
`
Quindi, ne consegue che un sito web fatto grazie ai mash-up e in grado di ricevere contenu-
ti e funzionalit` da sorgenti di dati che giacciono esternamente ai suoi confini organizzativi. Ne
a
consegue un allargamento del suo contesto di informazione, una correlazione dell’informazione,
intesa come capacit` di unire contenuti provenienti da fonti non correlate, un informazione mag-
a
giormente strutturata, grazie ad una visione pi` ampia del contesto di collocazione della singola
u
informazione.
6. 1.1. Mash-up 4
1.1.3 Tecnologie e strumenti a supporto dei mash-up
Questa sezione fornisce una panoramica delle nuove tecnologie che stanno facilitando lo sviluppo
dei mash-up.
Screen Scraping : lo scraping risulta essere il processo che utilizza degli strumenti software per
analizzare il contenuto originalmente creato per essere letto dalle persone con la finalit` di
a
estrarne strutture di dati semantici che rappresentano queste informazioni di modo tale da
utilizzarle e manipolarle in maniera pragmatica (Dalke Scientific, 2009).
RSS : un feed RSS e un formato di sindacazione1 della famiglia XML-based. In quest’ambito,
`
la sindacazione implica che un sito web che vuole distribuire contenuto crea un documento
RSS e invia il documento attraverso un RSS publisher. Un client abilitato RSS pu` con- o
trollare il feed dell’editore publisher per sapere se c’` nuovo contenuto e decidere di agire
e
`
di conseguenza. La tecnologia RSS e stata adottata per sindacare contenuto di vario tipo,
da articoli e titoli di notizie, ai cambiamenti nelle pagine wiki, o nei dati audiovisuali come
programmi radio. Gli RSS sono un’ottima e semplice modalit` di prendere il contenuto dal
a
web e portarlo in un’unica destinazione di navigazione. Quasi tutti i tipi di contenuto web
possono essere sindacati utilizzando gli RSS. Si Pensi ad una serie di tubi che inviano infor-
mazioni da un posto all’altro – non importa di che tipo di dati si tratta, basta che abbia un
RSS feed (Universit` degli studi di Trieste, 2009).
a
ATOM : Atom e un protocollo di sindacazione simile al feed RSS, ma pi` recente. E’ stato
` u
proposto come standard alla Internet Engineering Task Force (IETF) e cerca di mantenere
metadati migliori rispetto alla tecnologia RSS, fornendo una documentazione migliore e pi`
u
rigorosa, e che incorpora la nozione di costrutto per la rappresentazione comune dei dati
(Universit` degli studi di Trieste, 2009).
a
GEORSS : Valgono tutte le considerazioni fatte per il feed rss. L’elemento di distinguo e che
`
un feed GEORSS contiene anche l’informazione sulla posizione geografica (latitudine e lon-
gitudine) di ogni singolo elemento del Feed. Nello specifico: GEORSS = RSS + (lat e
long).
1.1.4 Tipologie di mash-up
Le principali tipologie di mash-up sono (Ciro Zambrano, 2009):
1
Per sindacazione si intende originariamente la possibilit` offerta da un fornitore di contenuti informativi di ri-
a
cevere automaticamente ed eventualmente ripubblicare le informazioni da esso prodotte; un formato di sindacazione
scandaglia le i componenti delle informazioni fornendo all’utente un’anteprima degli aggiornamenti apportati.
7. 1.1. Mash-up 5
Mapping : tutti i dati che contengono anche informazioni geografiche possono essere rappresen-
tati attraverso l’uso delle mappe. Uno degli eventi che ha catalizzato l’avvento dei mash-up
`
e 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 di mescolare tutti questi tipi
di dati e di mostrarli su delle mappe. Tanto per non essere da meno, anche altre societ` han-
a
no seguito questo esempio, vedi Microsoft (con Virtual Earth), Yahoo (con Yahoo Maps),
e AOL (MapQuest). Un altro strumento messo a disposizione degli utenti per il mashup
`
del dato geolocalizzato e il GEORSS. Il mapping effettua il mashing dei contenuti con la
cartografia sfruttando le meta-informazione2 latitudine e longitudine.
Video e foto : l’emergere di fenomeni come siti di foto hosting e social networking come Flickr
con le API disponibili hanno permesso una variet` incredibile di mash-up. Grazie al fatto
a
che coloro che caricano le foto, vi associano dei metadati come, per esempio, chi ha scattato
`
la foto, cosa rappresenta la foto, quando e dove e stata scattata, coloro che ideano i mash-up
possono unire le foto con altre informazioni che possono essere associate con i metadati.
Per esempio, un mash-up potrebbe visualizzare un grafico del social networking basandosi
sui metadati pi` comuni nelle foto (soggetto, data di scatto, ed altri metadati).
u
Ricerca e shopping : i mash-up per la ricerca e lo shopping esistevano ancor prima che il termine
mash-up fosse coniato. Prima dei giorni delle Web API, esistevano strumenti come BizRate,
PriceGrabber, MySimon, e Google’s Froogle che sfruttavano una combinazione di tecnolo-
gie business-to-business (b2b) e screen-scraping per aggregare e confrontare i prezzi di ci`
o
che l’utente voleva acquistare.
News : le fonti di news (come New York Times, BBC o Reuters) utilizzano le tecnologie per la sin-
dacazione dei contenuti come gli RSS e Atom sin dal 2002 per diffondere news informative
su vari argomenti.
I mash-up per la sindacazione dei feed possono aggregare i feed dell’utente e presentarli sul
Web, creando un giornale personalizzato che si rivolge a particolari interessi dei lettori.
2
Le meta-informazioni sono di fondamentale importanza in quanto consento la correlazione quindi il mash-up dei
contenuti
8. Capitolo 2
Applicazioni di mash-up
2.1 Google Mashup Editor
Figura 2.1: Schermata iniziale di Google Mashup Editor
Google ha presentato Mashup Editor (Google, 2009), diretto concorrente di Microsoft PopFly
e di Yahoo! Pipes, che permette di creare applicazioni su interfaccia Ajax. Google Mashup Editor
6
9. 2.1. Google Mashup Editor 7
`
(figura 2.1) e una piattaforma per creare mash-up in modo estremamente semplice. Questa piat-
taforma mette a disposizione un’ambiente di sviluppo interattivo, che permette agli sviluppatori
`
di modificare, compilare e gestire le proprie applicazioni. Questo Editor e basato sulla tecnologia
Ajax1 : infatti, mette a disposizione dell’utente delle API, basate su tecnologia AJAX, in modo da
ricreare situazioni del tutto simili graficamente alle applicazioni Google e consentendo, inoltre, di
inserire all’interno della propria web application prodotti come Google Maps o Google Calendar
personalizzati a seconda dell’esigenze dell’utente. Il tutto basato sulle tecnologie XML, JavaScript,
CSS e HTML.
Una volta fatte le loro applicazioni, gli utenti possono provarle in una Sandbox2 , che ne
permette il debug, e quindi decidere di pubblicarle sotto il dominio googlemashups.com.
`
Google Mashup Editor e un mash-up editor che, rispetto ai prodotti di Yahoo e Microsoft, limita
la costruzione di un’applicazione alle informazioni pubblicate da un feed RSS. Quindi l’utilizzo di
`
Google Mashup e demandato ad utenti che abbiamo una buona familiarit` sia con i prodotti Google
a
che con i principi di programmazione web.
2.1.1 Considerazioni
`
Google Mashup e in grado di agganciarsi a un feed RSS (quindi non qualunque webservice) e pre-
sentare i contenuti con un’interfaccia grafica web evolutissima, tipo GMAIL per fare un esempio.
` `
La cosa spettacolare di Google Mashup e che e un ambiente di sviluppo per applicazioni web,
`
che e a sua volta un’applicazione web. L’editor, il compilatore, l’interfaccia per la pubblicazione
o`
dell’applicazione, il sistema di controllo di versione: tutto ci` e web.
Oltre a questo Google Mashup mette a disposizione delle API interessanti, in particolare quelle
`
per la costruzione della GUI e per la persistenza dei dati. Inoltre e possibile accedere ad altre API
di google, come quelle di google maps o quelle di google calendar.
`
Insomma, Google Mashup e uno strumento per sviluppatori che vogliono costruire un’applica-
zione a partire dalle informazioni pubblicate da un feed RSS.
Ma se io voglio fare un’applicazione utilizzando le informazioni che mi restuisce un webser-
1
`
acronimo di Asynchronous JavaScript and XML, e uno strumento di sviluppo per la realizzazione di applicazioni
web interattive (Rich Internet Application). La tecnologia AJAX si basa su uno scambio di dati in background fra web
browser e server, che consente l’aggiornamento dinamico di una pagina web senza esplicito ricaricamento da parte
dell’utent
2
Periodo iniziale di una pagina nei risultati di ricerca nel quale la pagina o l’intero sito prevede un periodo di
`
latenza nel quale il posizionamento (ranking) non e perfettamente performante. Dopo un certo periodo di valutazione
da parte degli engines la pagina acquisisce una certa rilevanza e posizionamento all’interno della SERP3
10. 2.2. Microsoft Popfly 8
vice (come ad esempio le API di Flickr), con Google Mashup non posso fare niente. Inoltre, il
` `
programma e in versione beta, e il suo utilizzo e limitato e solo su invito.
2.2 Microsoft Popfly
Figura 2.2: Schermata iniziale di Microsoft PopFly
Microsoft PopFly (Microsoft, 2009) (figura 2.2) una applicazione che la stessa Microsoft ha
definito come un sistema per creare pagine web e mash-up partendo da materiale gi` esistente in
a
rete o creato appositamente in maniera semplice ed intuitiva. Infatti, PopFly non richiede nessuna
conoscenza di programmazione e neppure di un ambiente di programmazione da scaricare. E’
infatti una applicazione web-based che funziona direttamente su tutti i browser.
`
Per poter utilizzare tale strumento e necessario avere un account, Hotmail, per poter accedere
`
al servizio. Inoltre e richiesta l’installazione dell’ambiente di runtime Silverlight.
o `
Si pu` affermare che questa applicazione e stata creata appositamente per dare la possibilit` a
a tutti gli utenti (anche i meno esperti), di poter realizzare applicazioni, mash-ups, gadgets, pa-
gine Web e applicazioni in maniera semplice e intuitiva, tramite passaggi automatici e strumenti
visuali, senza il bisogno di conoscere il codice di programmazione. PopFly si prefigge di rendere
facilmente interfacciabili contenuti disponibili da varie fonti web. I video dei pi` comuni sistemi
u
11. 2.2. Microsoft Popfly 9
di sharing, le foto di Flikr, i contenuti blog di MySpace o le mappe di Virtual Earth possono essere
combinate dall’utente per realizzare un componente personalizzato. Si pu` affermare che PopFly
o
` u
e pi` orientata ai contenuti multimediali, quali video, immagini e giochi anche se tuttavia sono
presenti anche moduli che estraggono dati da altri servizi per fornire news, mappe e link a siti di
shop on line.
`
Connettendo tra loro i vari block, e quindi le relative sorgenti di dati, e ad esempio possibile
sfruttare le mappe di Vitual Earth e i dati di GeoNames per localizzare i contatti di Twitter.
`
Popfly e basato su Silverlight, un plug-in cross-browser e cross-platform capace di gestire
immagini, testo, animazioni, audio e video; realizzato dalla stessa Microsoft, viene definito come
l’anti-Flash di Adobe per eccellenza.
La restante parte, quindi non riferita a Silverlight, consiste di un insieme di informazioni in-
terconnesse con semplici click e drag&drop, il che rende l’applicazione utilizzabile da chiunque e
graficamente appetibile per combinare in modo drasticamente pi` curioso i propri materiali.
u
Popfly si divide in due macrosezioni:
• da una parte si trova il “Creator“, ovvero la parte attiva in cui si ricombinano gli elementi per
creare il proprio mash-up o la propria pagina web.
`
Creator e in effetti l’ambiente dove si crea la propria applicazione, la propria pagina web o la
propria animazione semplicemente. In essa si trovano (o si possono realizzare ad hoc per chi
conosce la programmazione) i componenti chiamati “block“ che non sono altro che elementi
visuali, come ad esempio foto, video, pagine web, animazioni i quali possono essere ricom-
posti ed usati a proprio piacere semplicemente trascinandoli e rilasciandoli. L’azienda ha
affermato che altri blocchi third-party saranno offerti prossimamente ed tutti gli sviluppatori
potranno crearli autonomamente sfruttando Silverlight. Microsoft prevede di offrire Popfly
gratuitamente, ma certi “building block“ third-party potranno richiedere un abbonamento a
pagamento ed altri saranno ristretti al solo uso non-commerciale. Sebbene Popfly Creator
non richieda alcuna conoscenza di programmazione, gli sviluppatori possono personalizzare
il codice della pagina utilizzando HTML, CSS o JavaScript. Possono inoltre contribuire alla
creazione di nuovi block utilizzando il Block Builder SDK. Tramite il plug-in Popfly Explo-
rer gli utenti di Visual Studio Express possono infine utilizzare il nuovo servizio di Microsoft
per condividere le proprie applicazioni web-based.
• dall’altra parte invece troviamo lo “Spaces“, ovvero il luogo in cui depositare e condividere i
propri materiali e le proprie creazioni. L’aspetto sociale gioca un ruolo centrale nel progetto.
Popfly Space permette agli utenti di connettersi ai creatori di altre applicazioni, tutte con-
12. 2.2. Microsoft Popfly 10
servate sui server Microsoft. All’interno di questo social network gli utenti Popfly possono
condividere, votare, commentare ed anche “remixare“ le creazioni di altri utenti.
`
Il grande valore aggiunto di Popfly e la capacit` di rendere le API dei vari servizi web-based
a
esistenti (da Flickr a Twitter, con una lunga schiera di altri servizi gi` inclusa) un elemento utiliz-
a
zabile senza alcuna conoscenza particolare: l’interfaccia provvede a tutto e l’utente deve limitare
il proprio intervento a scelte ed azioni di comando. Quindi, le caratteristiche principali di questo
strumento di Microsoft sono la facilit` di uso, la possibilit` di creare animazioni e molto altro con
a a
semplici movimenti del mouse (del tipo copia e incolla e trascina).
Microsoft Silverlight
Microsoft Corp. ha annunciato Silverlight, un nuovo plug-in tecnologico disponibile per diffe-
renti browser e piattaforme, che consente di offrire agli utenti innovative esperienze multimediali
e realizzare applicazioni Web altamente interattive. Le prime societ` che hanno dichiarato di avva-
a
lersi di questa nuova tecnologia sono Akamai Technologies Inc., Brightcove Inc., Eyeblaster Inc.,
Limelight Networks, Major League Baseball e Netflix Inc. La nuova tecnologia sar` presentata in
a
anteprima a Milano durante Remix, conferenza gratuita tenuta da esperti Microsoft internazionali.
Per maggiori informazioni visitare www.microsoft.it/msdn/remix
Microsoft Silverlight, chiamato in precedenza WPF/E (Windows Presentation Foundation Eve-
rywhere), si integra con le esistenti tecnologie Web e consente di fornire contenuti multimediali
di alta qualit` riducendo i costi. Silverlight viene fornito agli utenti finali tramite un’installazione
a
rapida e semplice e permette di utilizzare sia sistemi Macintosh che Windows attraverso numerosi
browser Web, fra cui Internet Explorer, Firefox e Safari. I fornitori di contenuti cercano un modo
per fornire applicazioni altamente interattive utilizzando gli strumenti e le competenze che gi` pos-
a
siedono. Sono alla ricerca di una soluzione completa che consenta di raggiungere rapidamente pi` u
piattaforme con costi di implementazione ragionevoli, ha dichiarato Bob Muglia, Vicepresiden-
te senior della divisione Server and Tools di Microsoft. Microsoft Silverlight punta a soddisfare
`
questa esigenza e costituisce un vero e proprio passo avanti per il settore. Silverlight e l’unica
soluzione disponibile oggi sul mercato che consente ai creatori di contenuti di inserirsi nell’ampio
ecosistema di tecnologie Windows Media portando a nuovi livelli l’esperienza interattiva sul Web.
2.2.1 Considerazioni
La forza del progetto di Microsoft, e l’aspetto che lo diversifica dal simile strumento di Yahoo,
` `
“Pipes“, e la facilit` con cui e possibile eseguire le varie procedure, senza alcun know-how tecnico
a
o esperienza di sviluppo. A prima vista, PopFly sembra essere quello con la grafica pi` accattivante
u
13. 2.3. Yahoo! Pipes 11
e che promette di permetter di sviluppare dei “mash-up“ senza essere uno sviluppatore. Quello
` `
che un po’ stride con PopFly, e la e la naturale interpretazione del Web 2.0 di Microsoft: per
`
usare Popfly bisogna scaricarsi Microsoft Silverlight, che e il modo di Microsoft di reinventarsi
Macromedia Flash e il formato SVG.
`
Quindi, concludendo, la creazione dei mash-up e effettivamente semplice e abbastanza intui-
tiva, ma probabilmente c’` spazio per ulteriori migliorie in questo senso. Sicuramente ci sono un
e
po’ di particolari da sistemare all’interno del designer visuale, sia in termini di usabilit` che di
a
presentazione.
Da sottolineare, tra i blocchi ufficiali creati dal team di sviluppo si possono notare diversi,
almeno 6, riguardanti applicazioni Yahoo!, eppure di blocchi con applicazioni Google non c’` e
nemmeno l’ombra.
2.3 Yahoo! Pipes
Figura 2.3: Schermata iniziale di Yahoo! Pipes
Yahoo! Pipes (Yahoo!, 2009) rappresenta, insieme alle altre applicazioni sopra descritte, uno
dei migliori prodotti per la creazione di mash-up attualmente presenti sul web. Per accedervi e `
`
sufficiente possedere un account Yahoo (gratuito) ed e adatto per qualsiasi tipo di piattaforma
`
(Linux, Windows, Mac). Yahoo! Pipes e un ambiente di sviluppo semplicissimo (figura 2.3):
`
utilizzando un editor visuale nel proprio browser e possibile pubblicare e condividere servizi senza
`
essere necessariamente dei programmatori. Per costruire il proprio mash-up e sufficiente trascinare
14. 2.3. Yahoo! Pipes 12
`
i differenti moduli messi a disposizione e disporne le connessioni. Ogni modulo e specializzato
nel reperire informazioni su Internet da una particolare fonte o con una particolare tecnologia, o
nell’elaborare le informazioni in ingresso con certe modalit` . Pi` semplicemente, si pu` clonare
a u o
un mash-up gi` presente sul sito e adatatrlo alle proprie esigenze.
a
`
Yahoo! Pipes e costituita da un’interfaccia grafica di manipolazione e rielaborazione di feed
rss, basata sul principio della pipe, ben noto agli utenti del sistema operativo Unix. In sintesi, una
`
pipe e una connessione, un tubo che collega l’output di un comando o di un servizio con l’input
di un altro. In questo modo, si possono creare sequenze di comandi.Con Yahoo! Pipes, quindi
si possono creare pipe di ogni tipo, prelevando feed, rielaborandoli, filtrandoli e collegandoli con
altri servizi. Si tratta di una potente innovazione, diretta alla realizzazione di mashup dei contenuti,
tipica del Web 2.0.
`
La cosa pi` interessante per il servizio non e semplicemente che aggrega i dati provenienti da
u
varie fonti, ma che si pu` configurare la pipe o addirittura creare la propria pipe per ottenere i
o
dati esatti che desiderate. Ogni tubo ha il suo URL univoco, in modo da poter essere facilmente
`
condiviso con la famiglia e gli amici. Una volta completato un pipe e possibile salvarlo sul server
e richiamarlo per ottenere in output un feed in uno dei seguenti formati: RSS, RDF, JSON o
`
Atom. E anche possibile pubblicare il proprio mash-up cos` costruito e condividerlo su Internet,
ı
permettendo ad altri utenti di crearne dei cloni, aggiungervi ulteriori funzionalit` o utilizzarlo come
a
componente di un altropipe da loro creato.
2.3.1 Considerazioni
Yahoo! Pipes risulta quindi essere un ambiente di sviluppo visuale semplicissimo. Sono dispo-
nibili un sacco di blocchetti, che si possono combinare tra di loro unendoli con dei connettori. I
blocchetti disponibili sono svariati, dal “Fetch Data“ che permette di recuperare documento XML,
ai blocchetti gi` sviluppati per recuperare informazioni da applicazioni diffuse come Flickr o Goo-
a
gle Base, ai blocchetti per l’elaborazione dei dati (Regex, Split, Reverse, etc.), etc. Il risultato
di questo stream di elaborazione viene automaticamente pubblicato in diversi formati (feed RSS,
JSON, XML, etc.).
Yahoo! Pipes permette quindi di remixare i feed e creare mashup che forniranno nuovi dati in
un ambiente grafico visuale che permette con facilit` di ottenere quello che altrimenti richiederebbe
a
`
notevoli conoscenze nel campo della programmazione. Yahoo! Pipes e veramente un applicazione
per mash-up completa, affidabile e di semplice utilizzo.
`
A mio giudizio, il servizio Yahoo! Pipes mi e parso pi` flessibile ed espandibile di PopFly
u
15. 2.3. Yahoo! Pipes 13
`
(supporta anche Google), anche se e decisamente troppo presto per fare confronti dato che ho li ho
utilizzati solo per un breve lasso di tempo.
16. Capitolo 3
Yahoo Pipes
In questo capitolo vengono introdotti i moduli di Yahoo! Pipes e presentati i tre pannelli costituenti
l’editor presenti all’interno di Yahoo!Pipes.
3.1 I moduli di Yahoo! Pipes
I Moduli presenti all’interno dell’editor di Yahoo! Pipes sono raggruppati all’interno di categorie,
ciascuna basata su differenti funzionalit` .
a
Sources : molte pipe utilizzano una data source, nel senso che questo modulo raccoglie i dati
da differenti risorse, come per esempio Yahoo Search, Google e Flickr, e li rende disponi-
bili all’interno della pipe per una successiva analisi e manipolazione da parte dell’utente,
restituendo un RSS feed.
User Inputs : questi moduli permettno di definire i parametri della propria pipe; questi input
possono essere anche utilizzati per alimentare altri moduli presenti all’interno della propria
pipe.
Operators : questi moduli trasformano e filtrati il flusso dei dati attraverso la pipe. Per esempio,
`
e possibile effettuare ordinamenti, filtraggio delle informazioni, unione di differenti pipe.
URL : questo modulo manipola e costruisce gli URL. Come detto, le pipe ottengono i propri dati
dal web, e queste risorse sono definite da URL. Molte di queste sono lunghe e complesse.
`
Questo modulo mi permette di controllare come una particolare URL e costruita. Questo
blocco, per funzionare correttamente, utilizza i parametri presenti nell’URL. Per esempio,
14
17. 3.2. L’editor di Yahoo! Pipes 15
all’interno di “http://finance.yahoo.com/rss/headline?s=gm“, il mio parametro di riferimento
sar` “s“.
a
String : questi moduli facilitano la manipolazione e la combinazione di stringhe di testo. Pos-
siamo ottenere concatenazioni di stringhe, operazioni di search and replace, costruzione di
sottostringhe a partire da una stringa, etc.
Date : questi moduli definiscono e formattano le date. Per esempio, all’interno di questi moduli e `
possibile convertire una stringa in un equivalente valore in formato date e formattare il valore
della data (si pensi ad esempio ai diversi formati della data: 12/01/2009, oppure 01/12/2009,
oppure Marted` 12 Gennaio 2009).
ı
Location : questo modulo converte una descrizione di un luogo in un dato geografico. Riconosce
infatti gli indirizzi, i nomi di citt` /stati, gli aeroporti, etc.
a
Number : questo modulo fornisce le operazioni basi dell’aritmetica, come ad esempio la somma,
la sottrazione, moltiplicazione, etc.
Deprecated : All’interno della documentazione del sito di Yahoo! Pipes, compare la scritta:
“These modules will continue to work however, we’re discouraging their use because we’ve
introduced new modules with improved functionality“. Ci` credo si riferisca al fatto che
o
tali moduli sono stati rimpiazzati da altri moduli interamente ricostruiti da sviluppatori di
Yahoo! Pipes, come ad esempio il modulo “Translate“, che a tutti gli effetti svolge le stesse
funzioni del modulo “Babelfish“.
Infine una piccola nota, le pipe possono essere riutilizzate con blocchi per nuove pipe. All’in-
` `
terno della categoria “Favorites“ (vedi fig. 2.3 a sinistra), e possibile aggiungere le pipe a cui si e
maggiormente interessati. Inoltre all’interno della categoria “My Pipes“, sono raccolte le proprie
pipe sviluppate.
3.2 L’editor di Yahoo! Pipes
L’editor presente all’interno di Yahoo! Pipes ci permette di lavorare all’interno di un’intuitiva
`
interfaccia grafica. Tale editor e costituito da tre pannelli:
Library : il pannello Library si trova sul lato sinistro dell’editor e mostra la lista dei moduli sopra
citati raggruppati per funzionalit` .
a
18. 3.3. Gli esempi 16
Canvas : il pannello Canvas si trova al centro del pannello e costituisce l’area principale di lavoro
`
per la costruzione, manipolazione e testing delle pipe. In quest’area, e possibile trascinare
i vari moduli presenti all’interno del pannello Library. Per creare una pipe funzionante, e `
necessario collegare i vari moduli caricati all’interno dell’area di lavoro; tale operazione e `
facile e veloce: basta cliccare sul terminal output di un modulo e collegarlo in ingresso ad
`
un altro modulo. Se tale operazione e compatibile, alllora l’indicatore del terminale diverr`
a
di colore arancione.
Debugger : il pannello Debugger e un area ridimensionabile situata nella parte bassa dell’edi-
`
`
tor. Attraverso questo pannello e possibile osservare gli output della pipe a diversi livelli;
per esempio posso osservare l’output della mia pipe attraverso un modulo intermedio. Ri-
sulta quindi di notevole utilit` poich` mi permette di effettuare un debug di ciascun seg-
a e
mento della pipe. Una volta completata la pipe, basta cliccare su Save, attribuirle un nome,
successivamente cliccare sul link Run Pipe.. per eseguirla.
3.3 Gli esempi
In questo paragrafo sono descritti due esempi di utilizzo di Yahoo! Pipes; nel primo viene detta-
gliata la procedura per la creazione di una semplice pipe step by step. Il secondo esempio invece
introduce un modulo, si pu` dire di “appoggio“, presente all’interno di Yahoo! Pipes. Punto di
o
partenza, naturalmente, la necessit` di possedere un account Yahoo per sperimentare l’ambiente
a
`
Yahoo Pipes. L’operazione e semplice e gratuita.
• Dalla home del sito http://pipes.yahoo.com/pipes/ cliccare su create a new pipe e loggarsi
col proprio account yahoo. Comparir` una pagina come in figura 2.3.
a
`
• Trascinare col drag and drop il modulo fetch nell’area di lavoro. Il modulo fetch e un modulo
generico che legge i feed rss indicati. Nel campo vuoto copia e incolla il feed rss. Per
`
aggiungere altri feed e sufficiente cliccare sul segno + accanto ad URL nel modulo fetch ed
incollare il nuovo feed nel campo vuoto che si crea.
Nella figura 3.1, si osserva l’inserimento del feed del sito di “Repubblica“ e del “Corriere
della sera“. In basso c’` un area chiamata debugger dove sono elencati tutti i moduli utilizzati
e
nella pipe. Al proprio interno, se se clicca su “Refresh“ si otterr` l’aggiornamento della pipe
a
in base alle modifiche apportate (fig. 3.2).
`
• Al termine della prima fase, ovvero quella di inserimento dei feed, e conveniente salvare il
pipe, cliccando su save ed assegnando il nome. Nel mio caso verr` chiamato “Notizie Italia“,
a
come si pu` anche vedere dalla figura 3.3.
o
19. 3.3. Gli esempi 17
Figura 3.1: Selezione feed rss
Figura 3.2: Refresh della pipe
Figura 3.3: Salvataggio della pipe
20. 3.3. Gli esempi 18
` o `
• In seguito al salvataggio, e possibile testare la pipe. Per fare ci` , e necessario collegare il
`
modulo fetch al modulo pipe output. Il risultato da me ottenuto e visibile nella figura 3.4.
Figura 3.4: Il risultato della pipe “Notizie Italia“
• Ora introduciamo la parte relativa agli “Operators“, in base ai quali risulta possibile effettua-
re semplici operazioni, quali ad esempio l’ordinamento, il filtraggio dei contenuti presenti
all’interno del modulo Fetch, etc. Nel mio caso, ordiner` le notizie per titolo, e successiva-
o
mente filtrer` tali notizie tenendo come argomento base lo sport. Nello specifico, selezionare
o
tra gli “operators” nel frame laterale sinistro il modulo “Sort” e trascinarlo nell’area di la-
voro. Nel men` a discesa del modulo stesso selezionare “title“ e “ascending“. Tutto ci` e
u o`
visibile all’interno della figura 3.5.
Figura 3.5: Il modulo Sort
21. 3.3. Gli esempi 19
• Occorre ora connettere i moduli. Cliccare sul piccolo cerchio in basso al modulo fetch e
trascinare il tubo (pipe) sul cerchio in alto al modulo sort. Ripetere l’operazione dal modulo
sort al modulo pipe output e cliccare su refresh per un aggiornamento del pipe. Salvare il
lavoro. Il risultato sar` il seguente (fig. 3.6).
a
Figura 3.6: Il risultato dell’ordinamento per titolo
• Ora concludiamo il breve esempio con il modulo “Filter“. Nel mio caso specifico, filtrer` le
o
notizie che contengono all’interno del campo “description“ il valore “Calcio“ (fig. 3.7).
Figura 3.7: Il modulo Filter
`
Il diagramma ottenuto e osservabile nella figura 3.8
Il risultato ottenuto viene mostrato nella figura 3.9.
22. 3.3. Gli esempi 20
Figura 3.8: La pipe finale
Figura 3.9: La versione finale del risultato della pipe
23. 3.3. Gli esempi 21
`
Il pipe creato e ora disponibile anche come feed rss per essere riutilizzato nelle diverse applica-
`
zioni. Per disporre del pipe come feed RSS, e sufficiente cliccare sul link “get as rss”. Tra le altre
`
caratteristiche, e possibile condividere tale pipe all’interno della propria pagina personale di Yahoo
e di Google; baster` cliccare sopra gli appositi link, visibili nella parte superiore della figura 3.9.
a
BabelFish
Il secondo esempio descrive brevemente un particolare modulo presente all’interno di Yahoo!
Pipes, BabelFish, il traduttore online di Yahoo. Questo modulo utilizza come elementi il titolo e la
descrizione di un RSS feed, e li traduce.
Nelle figure 3.10 e 3.11 vengono mostrate rispettivamente i singoli moduli all’interno dell’edi-
tor mentre nell’altra il risultato della pipe.
Figura 3.10: La pipe all’interno dell’editor grafico
25. Capitolo 4
Conclusioni
`
Yahoo! Pipes e’ un servizio web con un’interfaccia grafica user friendly che permette, agli utenti
senza particolari conoscenze di programmazione, di assemblare web services abbastanza comples-
si.
Risulta possibile utilizzare dati ottenuti da fonti aperte, pubblicate attraverso i formati di RSS
(Really Simple Syndication) o accessibili attraverso API (Application Programming Interfaces) ,
manipolarle ed aggregarle usando operatori logici, funzioni per filtrare i contenuti, concatenare
stringhe, estrarre informazioni utili per la georeferenziazione, introdurre informazioni da parte
degli utenti.
`
Il risultato e un servizio web personalizzato, disponibile in formato RSS utile per essere inte-
grato nelle proprie applicazioni web.
Yahoo! Pipes pu` rappresentare, dunque, uno dei primi esempi di Web 3.0, dove le informa-
o
zioni pubblicate dagli utenti devono poter interagire tra loro. Se, infatti, nel web 2.0 gli utenti
possono diventare protagonisti dell’informazione essenzialmente lineare, ovvero pubblicando le
proprio foto e attivit` sul web, qui possono diventare creatori di spazi e applicazioni multimediali
a
da condividere (come oggi si fa con le informazioni) con persone che abbiano gli stessi interessi
o all’interno di social network dedicati; si pu` parlare di ponte tra comunit` di sviluppo e social
o a
network.
L’informazione da lineare diventerebbe cos` multimediale e alla portata di tutti.
ı
23
26. Bibliografia
Abramo VIncenzi (2009). Api. http://www.tesionline.it/default/glossario.jsp?GlossarioID=1940.
Ciro Zambrano (2009). Mash-up.
Dalke Scientific (2009). Screen scraper.
Daniele Citterio (2008). Mashup: diamo un contesto all’informazione.
Google (2009). http://code.google.com/intl/it-IT/gme/.
Linkedin (2009). Featured applications. http://www.linkedin.com/apps.
Mauro Rossi (2009). Glossario di informatica e internet. http://www.maurorossi.net/glossario/.
Microsoft (2009). http://www.popfly.com/.
Universit` degli studi di Trieste (2009).
a Formati di sindacazione dei contenuti web.
http://sindacazione.altervista.org.
Yahoo! (2009). http://pipes.yahoo.com/pipes/docs.
24