Applicazioni ICT

26
UNIVERSIT ` A DEGLI STUDI DI TRENTO FACOLT ` A DI E CONOMIA CORSO DI LAUREA IN NET-ECONOMY .TECNOLOGIA E MANAGEMENT DELLINFORMAZIONE E DELLA CONOSCENZA Applicazioni ICT: il Mash-up Autore Alessandro Trentin Matricola 126134 ANNO ACCADEMICO (2008-2009)

description

Definition and use of major tools of mash-up

Transcript of Applicazioni ICT

Page 1: Applicazioni ICT

UNIVERSITA DEGLI STUDI DI TRENTO

FACOLTA DI ECONOMIA

CORSO DI LAUREA IN NET-ECONOMY. TECNOLOGIA E MANAGEMENT DELL’INFORMAZIONE

E DELLA CONOSCENZA

Applicazioni ICT: il Mash-up

Autore

Alessandro Trentin

Matricola

126134

ANNO ACCADEMICO (2008-2009)

Page 2: Applicazioni ICT

Indice

1 Il concetto 1

1.1 Mash-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Le API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.2 Caratteristiche mash-up . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.3 Tecnologie e strumenti a supporto dei mash-up . . . . . . . . . . . . . . . 4

1.1.4 Tipologie di mash-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Applicazioni di mash-up 6

2.1 Google Mashup Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1 Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Microsoft Popfly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1 Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Yahoo! Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3.1 Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Yahoo Pipes 14

3.1 I moduli di Yahoo! Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2 L’editor di Yahoo! Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.3 Gli esempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Conclusioni 23

i

Page 3: Applicazioni ICT

Capitolo 1Il concetto

1.1 Mash-up

Gli strumenti Web 2.0 stanno modificando radicalmente il nostro modo di comunicare sul Web.Chiunque puo realizzare un blog in una manciata di minuti e pubblicare video online con estremafacilita. Ancor piu semplice e l’adesione ad un social network. Sia che si parli di social networkdedicati ai rapporti personali e al tempo libero come Facebook o MySpace, sia che ci si riferiscaa quelli che nascono con scopi professionali come LinkedIn, sempre piu persone si iscrivono aquesti servizi di comunicazione 2.0. Da un lato, quindi, abbiamo queste piattaforme che rendonomolto 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 identita tra unsocial network e l’altro. La conseguenza immediata e la frammentazione della propria presenzaon-line in diversi punti del Web. Vista la frequenza con cui la nostra identita on-line si ristruttura,si aggiorna e arricchisce di nuovi contenuti multimediali, l’idea stessa di sito personale statico incui 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 diversiprogrammi, e necessario sviluppare interfacce per la programmazione dell’applicazione (API, Ap-plication Programming Interfaces) ben definite. Si puo pensare alle API come a standard validi inun ambiente di programmazione, ma anche e soprattutto ad un insieme di procedure disponibili adun programmatore, che possono essere riutilizzate al momento dello sviluppo di un’applicazione.

1

Page 4: Applicazioni ICT

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 ogniapplicativo tutte le funzioni di base e di riprogettare o migliorare le funzioni all’interno dell’APIsenza cambiare il codice che si affida ad essa (Abramo VIncenzi, 2009).

1.1.2 Caratteristiche mash-up

La soluzione per gestire la complessita e la frammentarieta della nostra identita digitale on-line sichiama mash-Up, parola che indica la possibilita tecnica di aggregare informazioni e servizi offertida diversi siti in singole pagine Web (Daniele Citterio, 2008). Le combinazioni sono pressocheinfinite.

Il significato di mash-up viene spesso spiegato in italiano indicando che, letteramente, vuoldire poltiglia. Forse e un po’ riduttivo: poltiglia puo avere connotazioni negative mentre in generecon un’azione di mashing up si riduce tutto a pezzetti per ottenere qualcosa che ha una consistenzaomogenea (Mauro Rossi, 2009).

In inglese il termine mash-up si e diffuso inizialmente nel campo della pop music. Quando siusa la musica di una o piu canzoni, le parole di altre e le si mixa insieme per creare una nuovacanzone 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 servizidi una o piu applicazioni Web che da vita ad una nuova applicazione Web.

I mash-up uniscono alcune delle istanze piu innovatrici del Web 2.0: la visione della rete comeuna piattaforma in cui, grazie a protocolli condivisi, le applicazioni sono in grado di comunicarefra loro, la tendenza da parte dei siti piu noti, come Google, eBay o Yahoo!, di rendere disponibililiberamente i propri contenuti e servizi e la partecipazione di utenti e sviluppatori che sempre piudiventano creatori indipendenti di contenuti. L’unione di questi servizi e reso possibile dall’usodelle API, ossia dalle interfacce pubbliche di programmazione che molti siti rilasciano gratuita-mente per la creativita degli sviluppatori (Daniele Citterio, 2008). Google Maps e uno dei servizipiu utilizzati per i mash-up, ma gli esempi non mancano per YouTube e per decine di altri servizi.

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 funzionalita da agli utenti lapossibilita di integrare all’interno del proprio profilo informazioni provenienti da una serie di piat-taforme esterne. Si possono in tal modo inserire ed aggiornare automaticamente: i post del proprioblog gestito con Wordpress, presentazioni condivise online con Google Presentation o SlideShare,

Page 5: Applicazioni ICT

1.1. Mash-up 3

informazioni sui propri viaggi gestite con My Travel, i post dei propri blog preferiti tramite BlogLink, 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 collaboratewith 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 istruzionie formati di dati, che vanno gestite attraverso i tipici linguaggi di programmazione Web comePHP o ASP.Net. Per utenti non interessati o comunque non in grado di utilizzare i linguaggidi programmazione, puo utilizzare alcuni servizi che permettono di creare mash-up in modalitavisuale:

• Google Mash-up Editor, piu indicato per sviluppatori;

• Microsoft Popfly, basato quasi completamente su interazioni con il mouse;

• Yahoo! Pipes, completo ma non completamente intuitivo per gli utenti che si affacciano perla 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 piu ricchi e completi;

• favorire la collaborazione e la condivisione di informazioni tra network;

• (conseguenza dei primi due punti), consentire un utilizzo della piattaforma sempre piu effi-ciente.

Riassumendo, la popolarita del mash-up proviene da:

• Capacita di fornire interattivita all’utente e alle applicazioni;

• Capacita di aggregare e reinventare gli insiemi di dati prodotti da terzi.

Quindi, ne consegue che un sito web fatto grazie ai mash-up e in grado di ricevere contenu-ti e funzionalita da sorgenti di dati che giacciono esternamente ai suoi confini organizzativi. Neconsegue un allargamento del suo contesto di informazione, una correlazione dell’informazione,intesa come capacita di unire contenuti provenienti da fonti non correlate, un informazione mag-giormente strutturata, grazie ad una visione piu ampia del contesto di collocazione della singolainformazione.

Page 6: Applicazioni ICT

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 sviluppodei mash-up.

Screen Scraping : lo scraping risulta essere il processo che utilizza degli strumenti software peranalizzare il contenuto originalmente creato per essere letto dalle persone con la finalita diestrarne strutture di dati semantici che rappresentano queste informazioni di modo tale dautilizzarle 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 documentoRSS e invia il documento attraverso un RSS publisher. Un client abilitato RSS puo con-trollare il feed dell’editore publisher per sapere se c’e nuovo contenuto e decidere di agiredi 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 comeprogrammi radio. Gli RSS sono un’ottima e semplice modalita di prendere il contenuto dalweb e portarlo in un’unica destinazione di navigazione. Quasi tutti i tipi di contenuto webpossono 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 unRSS feed (Universita degli studi di Trieste, 2009).

ATOM : Atom e un protocollo di sindacazione simile al feed RSS, ma piu recente. E’ statoproposto come standard alla Internet Engineering Task Force (IETF) e cerca di manteneremetadati migliori rispetto alla tecnologia RSS, fornendo una documentazione migliore e piurigorosa, e che incorpora la nozione di costrutto per la rappresentazione comune dei dati(Universita degli studi di Trieste, 2009).

GEORSS : Valgono tutte le considerazioni fatte per il feed rss. L’elemento di distinguo e cheun feed GEORSS contiene anche l’informazione sulla posizione geografica (latitudine e lon-gitudine) di ogni singolo elemento del Feed. Nello specifico: GEORSS = RSS + (lat elong).

1.1.4 Tipologie di mash-up

Le principali tipologie di mash-up sono (Ciro Zambrano, 2009):1Per sindacazione si intende originariamente la possibilita offerta da un fornitore di contenuti informativi di ri-

cevere automaticamente ed eventualmente ripubblicare le informazioni da esso prodotte; un formato di sindacazionescandaglia le i componenti delle informazioni fornendo all’utente un’anteprima degli aggiornamenti apportati.

Page 7: Applicazioni ICT

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-upe stato l’introduzione da parte di Google delle Google Maps API. Il fatto che queste APIfossero pubbliche ed aperte ha permesso agli sviluppatori web di mescolare tutti questi tipidi dati e di mostrarli su delle mappe. Tanto per non essere da meno, anche altre societa han-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 mashupdel dato geolocalizzato e il GEORSS. Il mapping effettua il mashing dei contenuti con lacartografia sfruttando le meta-informazione2 latitudine e longitudine.

Video e foto : l’emergere di fenomeni come siti di foto hosting e social networking come Flickrcon le API disponibili hanno permesso una varieta incredibile di mash-up. Grazie al fattoche coloro che caricano le foto, vi associano dei metadati come, per esempio, chi ha scattatola foto, cosa rappresenta la foto, quando e dove e stata scattata, coloro che ideano i mash-uppossono 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 basandosisui metadati piu comuni nelle foto (soggetto, data di scatto, ed altri metadati).

Ricerca e shopping : i mash-up per la ricerca e lo shopping esistevano ancor prima che il terminemash-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 cioche 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 informativesu vari argomenti.

I mash-up per la sindacazione dei feed possono aggregare i feed dell’utente e presentarli sulWeb, creando un giornale personalizzato che si rivolge a particolari interessi dei lettori.

2Le meta-informazioni sono di fondamentale importanza in quanto consento la correlazione quindi il mash-up deicontenuti

Page 8: Applicazioni ICT

Capitolo 2Applicazioni 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 PopFlye di Yahoo! Pipes, che permette di creare applicazioni su interfaccia Ajax. Google Mashup Editor

6

Page 9: Applicazioni ICT

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 sviluppatoridi modificare, compilare e gestire le proprie applicazioni. Questo Editor e basato sulla tecnologiaAjax1: infatti, mette a disposizione dell’utente delle API, basate su tecnologia AJAX, in modo daricreare situazioni del tutto simili graficamente alle applicazioni Google e consentendo, inoltre, diinserire all’interno della propria web application prodotti come Google Maps o Google Calendarpersonalizzati 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 nepermette 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, limitala costruzione di un’applicazione alle informazioni pubblicate da un feed RSS. Quindi l’utilizzo diGoogle Mashup e demandato ad utenti che abbiamo una buona familiarita sia con i prodotti Googleche 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 pubblicazionedell’applicazione, il sistema di controllo di versione: tutto cio e web.

Oltre a questo Google Mashup mette a disposizione delle API interessanti, in particolare quelleper la costruzione della GUI e per la persistenza dei dati. Inoltre e possibile accedere ad altre APIdi 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-1acronimo 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 webbrowser e server, che consente l’aggiornamento dinamico di una pagina web senza esplicito ricaricamento da partedell’utent

2Periodo iniziale di una pagina nei risultati di ricerca nel quale la pagina o l’intero sito prevede un periodo dilatenza nel quale il posizionamento (ranking) non e perfettamente performante. Dopo un certo periodo di valutazioneda parte degli engines la pagina acquisisce una certa rilevanza e posizionamento all’interno della SERP3

Page 10: Applicazioni ICT

2.2. Microsoft Popfly 8

vice (come ad esempio le API di Flickr), con Google Mashup non posso fare niente. Inoltre, ilprogramma 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 hadefinito come un sistema per creare pagine web e mash-up partendo da materiale gia esistente inrete o creato appositamente in maniera semplice ed intuitiva. Infatti, PopFly non richiede nessunaconoscenza 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 accedereal servizio. Inoltre e richiesta l’installazione dell’ambiente di runtime Silverlight.

Si puo affermare che questa applicazione e stata creata appositamente per dare la possibilitaa 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 strumentivisuali, senza il bisogno di conoscere il codice di programmazione. PopFly si prefigge di renderefacilmente interfacciabili contenuti disponibili da varie fonti web. I video dei piu comuni sistemi

Page 11: Applicazioni ICT

2.2. Microsoft Popfly 9

di sharing, le foto di Flikr, i contenuti blog di MySpace o le mappe di Virtual Earth possono esserecombinate dall’utente per realizzare un componente personalizzato. Si puo affermare che PopFlye piu orientata ai contenuti multimediali, quali video, immagini e giochi anche se tuttavia sonopresenti anche moduli che estraggono dati da altri servizi per fornire news, mappe e link a siti dishop on line.

Connettendo tra loro i vari block, e quindi le relative sorgenti di dati, e ad esempio possibilesfruttare 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 gestireimmagini, testo, animazioni, audio e video; realizzato dalla stessa Microsoft, viene definito comel’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 egraficamente appetibile per combinare in modo drasticamente piu curioso i propri materiali.

Popfly si divide in due macrosezioni:

• da una parte si trova il “Creator“, ovvero la parte attiva in cui si ricombinano gli elementi percreare 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 lapropria animazione semplicemente. In essa si trovano (o si possono realizzare ad hoc per chiconosce la programmazione) i componenti chiamati “block“ che non sono altro che elementivisuali, 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 haaffermato che altri blocchi third-party saranno offerti prossimamente ed tutti gli sviluppatoripotranno crearli autonomamente sfruttando Silverlight. Microsoft prevede di offrire Popflygratuitamente, ma certi “building block“ third-party potranno richiedere un abbonamento apagamento ed altri saranno ristretti al solo uso non-commerciale. Sebbene Popfly Creatornon richieda alcuna conoscenza di programmazione, gli sviluppatori possono personalizzareil codice della pagina utilizzando HTML, CSS o JavaScript. Possono inoltre contribuire allacreazione 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 Microsoftper condividere le proprie applicazioni web-based.

• dall’altra parte invece troviamo lo “Spaces“, ovvero il luogo in cui depositare e condividere ipropri 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-

Page 12: Applicazioni ICT

2.2. Microsoft Popfly 10

servate sui server Microsoft. All’interno di questo social network gli utenti Popfly possonocondividere, votare, commentare ed anche “remixare“ le creazioni di altri utenti.

Il grande valore aggiunto di Popfly e la capacita di rendere le API dei vari servizi web-basedesistenti (da Flickr a Twitter, con una lunga schiera di altri servizi gia inclusa) un elemento utiliz-zabile senza alcuna conoscenza particolare: l’interfaccia provvede a tutto e l’utente deve limitareil proprio intervento a scelte ed azioni di comando. Quindi, le caratteristiche principali di questostrumento di Microsoft sono la facilita di uso, la possibilita di creare animazioni e molto altro consemplici 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 multimedialie realizzare applicazioni Web altamente interattive. Le prime societa che hanno dichiarato di avva-lersi di questa nuova tecnologia sono Akamai Technologies Inc., Brightcove Inc., Eyeblaster Inc.,Limelight Networks, Major League Baseball e Netflix Inc. La nuova tecnologia sara presentata inanteprima 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 multimedialidi alta qualita riducendo i costi. Silverlight viene fornito agli utenti finali tramite un’installazionerapida e semplice e permette di utilizzare sia sistemi Macintosh che Windows attraverso numerosibrowser Web, fra cui Internet Explorer, Firefox e Safari. I fornitori di contenuti cercano un modoper fornire applicazioni altamente interattive utilizzando gli strumenti e le competenze che gia pos-siedono. Sono alla ricerca di una soluzione completa che consenta di raggiungere rapidamente piupiattaforme con costi di implementazione ragionevoli, ha dichiarato Bob Muglia, Vicepresiden-te senior della divisione Server and Tools di Microsoft. Microsoft Silverlight punta a soddisfarequesta esigenza e costituisce un vero e proprio passo avanti per il settore. Silverlight e l’unicasoluzione disponibile oggi sul mercato che consente ai creatori di contenuti di inserirsi nell’ampioecosistema 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 facilita con cui e possibile eseguire le varie procedure, senza alcun know-how tecnicoo esperienza di sviluppo. A prima vista, PopFly sembra essere quello con la grafica piu accattivante

Page 13: Applicazioni ICT

2.3. Yahoo! Pipes 11

e che promette di permetter di sviluppare dei “mash-up“ senza essere uno sviluppatore. Quelloche un po’ stride con PopFly, e la e la naturale interpretazione del Web 2.0 di Microsoft: perusare Popfly bisogna scaricarsi Microsoft Silverlight, che e il modo di Microsoft di reinventarsiMacromedia Flash e il formato SVG.

Quindi, concludendo, la creazione dei mash-up e effettivamente semplice e abbastanza intui-tiva, ma probabilmente c’e spazio per ulteriori migliorie in questo senso. Sicuramente ci sono unpo’ di particolari da sistemare all’interno del designer visuale, sia in termini di usabilita che dipresentazione.

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’enemmeno 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, unodei migliori prodotti per la creazione di mash-up attualmente presenti sul web. Per accedervi esufficiente 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 senzaessere necessariamente dei programmatori. Per costruire il proprio mash-up e sufficiente trascinare

Page 14: Applicazioni ICT

2.3. Yahoo! Pipes 12

i differenti moduli messi a disposizione e disporne le connessioni. Ogni modulo e specializzatonel reperire informazioni su Internet da una particolare fonte o con una particolare tecnologia, onell’elaborare le informazioni in ingresso con certe modalita. Piu semplicemente, si puo clonareun mash-up gia presente sul sito e adatatrlo alle proprie esigenze.

Yahoo! Pipes e costituita da un’interfaccia grafica di manipolazione e rielaborazione di feedrss, basata sul principio della pipe, ben noto agli utenti del sistema operativo Unix. In sintesi, unapipe e una connessione, un tubo che collega l’output di un comando o di un servizio con l’inputdi un altro. In questo modo, si possono creare sequenze di comandi.Con Yahoo! Pipes, quindisi possono creare pipe di ogni tipo, prelevando feed, rielaborandoli, filtrandoli e collegandoli conaltri servizi. Si tratta di una potente innovazione, diretta alla realizzazione di mashup dei contenuti,tipica del Web 2.0.

La cosa piu interessante per il servizio non e semplicemente che aggrega i dati provenienti davarie fonti, ma che si puo configurare la pipe o addirittura creare la propria pipe per ottenere idati esatti che desiderate. Ogni tubo ha il suo URL univoco, in modo da poter essere facilmentecondiviso con la famiglia e gli amici. Una volta completato un pipe e possibile salvarlo sul servere richiamarlo per ottenere in output un feed in uno dei seguenti formati: RSS, RDF, JSON oAtom. E anche possibile pubblicare il proprio mash-up cosı costruito e condividerlo su Internet,permettendo ad altri utenti di crearne dei cloni, aggiungervi ulteriori funzionalita o utilizzarlo comecomponente 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. Iblocchetti disponibili sono svariati, dal “Fetch Data“ che permette di recuperare documento XML,ai blocchetti gia sviluppati per recuperare informazioni da applicazioni diffuse come Flickr o Goo-gle Base, ai blocchetti per l’elaborazione dei dati (Regex, Split, Reverse, etc.), etc. Il risultatodi 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 inun ambiente grafico visuale che permette con facilita di ottenere quello che altrimenti richiederebbenotevoli conoscenze nel campo della programmazione. Yahoo! Pipes e veramente un applicazioneper mash-up completa, affidabile e di semplice utilizzo.

A mio giudizio, il servizio Yahoo! Pipes mi e parso piu flessibile ed espandibile di PopFly

Page 15: Applicazioni ICT

2.3. Yahoo! Pipes 13

(supporta anche Google), anche se e decisamente troppo presto per fare confronti dato che ho li houtilizzati solo per un breve lasso di tempo.

Page 16: Applicazioni ICT

Capitolo 3Yahoo Pipes

In questo capitolo vengono introdotti i moduli di Yahoo! Pipes e presentati i tre pannelli costituentil’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 funzionalita.

Sources : molte pipe utilizzano una data source, nel senso che questo modulo raccoglie i datida 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 inputpossono essere anche utilizzati per alimentare altri moduli presenti all’interno della propriapipe.

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 datidal 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. Questoblocco, per funzionare correttamente, utilizza i parametri presenti nell’URL. Per esempio,

14

Page 17: Applicazioni ICT

3.2. L’editor di Yahoo! Pipes 15

all’interno di “http://finance.yahoo.com/rss/headline?s=gm“, il mio parametro di riferimentosara “s“.

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 disottostringhe a partire da una stringa, etc.

Date : questi moduli definiscono e formattano le date. Per esempio, all’interno di questi moduli epossibile convertire una stringa in un equivalente valore in formato date e formattare il valoredella 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. Riconosceinfatti gli indirizzi, i nomi di citta/stati, gli aeroporti, etc.

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’veintroduced new modules with improved functionality“. Cio credo si riferisca al fatto chetali moduli sono stati rimpiazzati da altri moduli interamente ricostruiti da sviluppatori diYahoo! Pipes, come ad esempio il modulo “Translate“, che a tutti gli effetti svolge le stessefunzioni 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 emaggiormente interessati. Inoltre all’interno della categoria “My Pipes“, sono raccolte le propriepipe sviluppate.

3.2 L’editor di Yahoo! Pipes

L’editor presente all’interno di Yahoo! Pipes ci permette di lavorare all’interno di un’intuitivainterfaccia 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 sopracitati raggruppati per funzionalita.

Page 18: Applicazioni ICT

3.3. Gli esempi 16

Canvas : il pannello Canvas si trova al centro del pannello e costituisce l’area principale di lavoroper la costruzione, manipolazione e testing delle pipe. In quest’area, e possibile trascinarei vari moduli presenti all’interno del pannello Library. Per creare una pipe funzionante, enecessario collegare i vari moduli caricati all’interno dell’area di lavoro; tale operazione efacile e veloce: basta cliccare sul terminal output di un modulo e collegarlo in ingresso adun altro modulo. Se tale operazione e compatibile, alllora l’indicatore del terminale diverradi 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 utilita poiche mi permette di effettuare un debug di ciascun seg-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 inveceintroduce un modulo, si puo dire di “appoggio“, presente all’interno di Yahoo! Pipes. Punto dipartenza, naturalmente, la necessita di possedere un account Yahoo per sperimentare l’ambienteYahoo Pipes. L’operazione e semplice e gratuita.

• Dalla home del sito http://pipes.yahoo.com/pipes/ cliccare su create a new pipe e loggarsicol proprio account yahoo. Comparira una pagina come in figura 2.3.

• Trascinare col drag and drop il modulo fetch nell’area di lavoro. Il modulo fetch e un modulogenerico che legge i feed rss indicati. Nel campo vuoto copia e incolla il feed rss. Peraggiungere altri feed e sufficiente cliccare sul segno + accanto ad URL nel modulo fetch edincollare 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 “Corrieredella sera“. In basso c’e un area chiamata debugger dove sono elencati tutti i moduli utilizzatinella pipe. Al proprio interno, se se clicca su “Refresh“ si otterra l’aggiornamento della pipein base alle modifiche apportate (fig. 3.2).

• Al termine della prima fase, ovvero quella di inserimento dei feed, e conveniente salvare ilpipe, cliccando su save ed assegnando il nome. Nel mio caso verra chiamato “Notizie Italia“,come si puo anche vedere dalla figura 3.3.

Page 19: Applicazioni ICT

3.3. Gli esempi 17

Figura 3.1: Selezione feed rss

Figura 3.2: Refresh della pipe

Figura 3.3: Salvataggio della pipe

Page 20: Applicazioni ICT

3.3. Gli esempi 18

• In seguito al salvataggio, e possibile testare la pipe. Per fare cio, e necessario collegare ilmodulo 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 presentiall’interno del modulo Fetch, etc. Nel mio caso, ordinero le notizie per titolo, e successiva-mente filtrero tali notizie tenendo come argomento base lo sport. Nello specifico, selezionaretra gli “operators” nel frame laterale sinistro il modulo “Sort” e trascinarlo nell’area di la-voro. Nel menu a discesa del modulo stesso selezionare “title“ e “ascending“. Tutto cio evisibile all’interno della figura 3.5.

Figura 3.5: Il modulo Sort

Page 21: Applicazioni ICT

3.3. Gli esempi 19

• Occorre ora connettere i moduli. Cliccare sul piccolo cerchio in basso al modulo fetch etrascinare il tubo (pipe) sul cerchio in alto al modulo sort. Ripetere l’operazione dal modulosort al modulo pipe output e cliccare su refresh per un aggiornamento del pipe. Salvare illavoro. Il risultato sara il seguente (fig. 3.6).

Figura 3.6: Il risultato dell’ordinamento per titolo

• Ora concludiamo il breve esempio con il modulo “Filter“. Nel mio caso specifico, filtrero lenotizie 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.

Page 22: Applicazioni ICT

3.3. Gli esempi 20

Figura 3.8: La pipe finale

Figura 3.9: La versione finale del risultato della pipe

Page 23: Applicazioni ICT

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 altrecaratteristiche, e possibile condividere tale pipe all’interno della propria pagina personale di Yahooe di Google; bastera cliccare sopra gli appositi link, visibili nella parte superiore della figura 3.9.

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 ladescrizione 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

Page 24: Applicazioni ICT

3.3. Gli esempi 22

Figura 3.11: L’output della pipe

Page 25: Applicazioni ICT

Capitolo 4Conclusioni

Yahoo! Pipes e’ un servizio web con un’interfaccia grafica user friendly che permette, agli utentisenza 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, concatenarestringhe, estrarre informazioni utili per la georeferenziazione, introdurre informazioni da partedegli utenti.

Il risultato e un servizio web personalizzato, disponibile in formato RSS utile per essere inte-grato nelle proprie applicazioni web.

Yahoo! Pipes puo rappresentare, dunque, uno dei primi esempi di Web 3.0, dove le informa-zioni pubblicate dagli utenti devono poter interagire tra loro. Se, infatti, nel web 2.0 gli utentipossono diventare protagonisti dell’informazione essenzialmente lineare, ovvero pubblicando leproprio foto e attivita sul web, qui possono diventare creatori di spazi e applicazioni multimedialida condividere (come oggi si fa con le informazioni) con persone che abbiano gli stessi interessio all’interno di social network dedicati; si puo parlare di ponte tra comunita di sviluppo e socialnetwork.

L’informazione da lineare diventerebbe cosı multimediale e alla portata di tutti.

23

Page 26: Applicazioni ICT

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/.

Universita degli studi di Trieste (2009). Formati di sindacazione dei contenuti web.http://sindacazione.altervista.org.

Yahoo! (2009). http://pipes.yahoo.com/pipes/docs.

24