Archivi delle etichette: pipes

The World Wide Mash

Uno dei fenomeni che stanno alla base del web2.0 e che lo caratterizzano è legato all’utilizzo di parti di altri siti per costruire il proprio. Questo modo di operare viene identificato con il termine “mashup” il cui significato letterale è quello di poltiglia.

Questo nomignolo poco gratificante deriva dal fatto che spesso i servizi utilizzati non sono esattamente pensati per essere utilizzati all’interno di altri siti e il risultato è quello di un’accozzaglia di oggetti debolmente interconnessi tra loro e, a volte, anche poco integrati graficamente.

Ultimamente, tuttavia, questo modo di utilizzare pezzi di siti, si sta strutturando per consentire un utilizzo più organico e, anche se siamo lontani dal web semantico desiderato da Tim Berners Lee, ci stiamo avviando verso il “mesh-up”, in cui la poltiglia assume il significato di interconnessione strutturata.

Vediamo alcuni esempi di mashups e come si sta muovendo il mondo dell’informatica.

Una breve storia dei mashups

Anche se ci si deve spingere poco indietro nel tempo, il primo esempio di mashup si fa risalire al sito housingmaps.com. Questo sito non fa altro che prelevare le informazioni da Craiglist, un sito di annunci commerciali molto legato alla compravendita di abilitazioni, e combinarle con Google maps in modo da localizzare geograficamente le case in vendita.

L’innovazione fondamentale che l’ideatore del sito ha apportato è stata quella di non limitarsi ad utilizzare informazioni provenienti da altre sorgenti e ripubblicarle, come nel caso di news tramite RSS, banner pubblicitari o video presi da siti specializzati. In questo sito i dati vengono elaborati proprio come dati a se stanti e ricombinati (eventualmente con altri) per creare qualcosa di nuovo e non esistente prima.

Da questo primo esempio si sono sviluppate moltissime idee, e oggi nascono all’incirca 3 esempi di mashup al giorno, con funzioni che spaziano dai servizi di localizzazione fino ai giochi.

Il punto di partenza per chi voglia cimentarsi è sicuramente Programmable web che, oltre ad un nutrito database di esempi, fornisce l’elenco completo di tutte le API disponibili e i link a vari howto che spiegano come utilizzare una determinata API.

Il numero, sicuramente ragguardevole di 3600 mashups censiti e 1250 API disponibili (che corrispondono ad altrettanti servizi accessibili via web) dà un’idea dell’importanza e della diffusione del fenomeno.

Dalla parte opposta chi fornisce i servizi vede in questo strumento un metodo eccezionale per farsi conoscere ed imporsi come standard de facto. Google maps, in tal senso, è l’esempio principe con quasi 1600 mashups conosciuti e, forse grazie anche a questo, surclassa i propri concorrenti come notorietà nel settore delle mappe geografiche.

Le tecnologie

Indipendentemente dall’idea che vi sta dietro, le tecnologie che vengono utilizzate si basano quasi sempre su XML anche se spesso l’accesso ai servizi è nascosto dietro vere e proprie librerie che, oltre al puro trasferimento di dati, celano pezzi di codice che registrano gli accessi o ne limitano le possibilità.

Il formato XML dei dati può essere rappresentato da uno standard, come nel caso dei RSS, o da formati proprietari specificatamente pensati per il servizio desiderato.

L’accesso ai dati avviene utilizzando direttamente i dati in formato XML, utilizzando web services basati sui più disparati protocolli di comunicazione (SOAP, REST o XML-RPC) o, nel caso non esistano altri metodi, tramite l’analisi della pagina web in cui tali dati sono visualizzati.

Oltre agli aspetti indicati è importante anche capire dove il mashup può avvenire: sul server che ospita il sito o direttamente sul browser dell’utente che lo sta visualizzando.

Mentre i mashups realizzati sul server possono usufruire di una serie più completa di API, quelli su client si devo limitare alle possibilità offerte da Javascript, tuttavia ne permettono la realizzazione, come caso limite, anche senza disporre di un server web.

Editor di mashups

Creare un mashup richiede alcune competenze di programmazione e non è sicuramente alla portata di tutti. Per facilitare la creazione di questi oggetti sono disponibili software specifici o servizi accessibili via web.

Purtroppo la maggior parte di questi strumenti è pensata come strumento per le aziende e non è disponibile gratuitamente. Tra le versioni utilizzabili senza costi di licenza ve ne sono 2 particolarmenti promettenti.

Yahoo! Pipes fornisce un servizio accessibile via web che permette, attraverso una comoda interfaccia grafica, di combinare tra loro differenti flussi di dati, rielaborarli e  ottenere un risultato in vari formati che vanno dagli standard RSS e JSON fino ad alcuni formati proprietari.

Di questo servizio è senza dubbio pregevole l’interfaccia utente per la creazione dei “pipes”, che consiste in un editor di diagrammi scritto in Javascript di ottima qualità. Il formato di output, viceversa, non sembra, ad un’analisi superficiale, facilmente configurabile, se non passando dai risultati esportati e rielaborandoli quantomento attraverso un XSLT.

Gnip utilizza un approccio più orientato alla programmazione e l’interfaccia per la creazione dei filtri è sicuramente meno semplice. Esso, tuttavia, ha il vantaggio di permettere la creazione e pubblicazione sul sito di “produttori” di informazioni, dove un produttore può essere già uno strumento che combina fonti differenti. sotto questo aspetto lo strumento di Yahoo! fornisce una lista chiusa di strumenti utilizzabili, anche se decisamente soddisfacente.

In entrambi i casi è sicuro che limitandosi agli strumenti base messi a disposizione senza scrivere una linea di codice si ottiene un risultato molto distante da un vero e proprio mashup.

Conclusioni

Per chi volesse approfondire l’argomento, oltre al già citato sito di Programmable web, si può far riferimento alla pagina di Wikipedia in cui vi sono vari riferimenti a tecnologie, strumenti e esempi significativi.


Iscriviti

Get every new post delivered to your Inbox.

Join 117 other followers