• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Tecniche Di Mashup
 

Tecniche Di Mashup

on

  • 796 views

Presentazione del gruppo MashUp! per l'esame di Corso Web 2.0 - Università degli Studi di Milano - Bicocca

Presentazione del gruppo MashUp! per l'esame di Corso Web 2.0 - Università degli Studi di Milano - Bicocca

Statistics

Views

Total Views
796
Views on SlideShare
795
Embed Views
1

Actions

Likes
1
Downloads
6
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tecniche Di Mashup Tecniche Di Mashup Presentation Transcript

    • Tecniche di Mashup Gruppo Mashup Jacopo Barachetti Yeser Amer Università degli Studi Milano Bicocca Corso di Laurea Magistrale in Infomatica Corso Web 2.0 2009/2010 26 Gennaio 2010
    •  
    • Letteralmente: Miscuglio, Poltiglia I Mashup sono applicazioni web che integrano dinamicamente contenuti o servizi provenienti da fonti esterne, tipicamente sfruttando API, Feed (RSS o Atom) o Javascript, per ottenere così un servizio completamente nuovo. Il termine Mashup comporta uno sviluppo delle applicazioni semplice e molto veloce favorendo il riutilizzo delle informazioni già presenti in rete.
    • Il Mashup è una pratica recente. Le prime applicazioni web sviluppate con questa tecnica hanno fatto il loro esordio nel 2005, in concomitanza dell’evento “Mashup Camp” tenutosi a Mountain View e sponsorizzato da alcune tra le più importanti aziende del settore informatico quali Adobe, AOL, Sun, Microsoft, Google e Yahoo. Tuttavia, per avere a disposizione le prime releases ufficiali dei servizi per lo sviluppo di applicazioni Mashup, come Yahoo! Pipes, Microsoft PopFly e Google Mashup Editor, si è dovuto attendere il 2007. Nel 2009 si è registrato un calo dei servizi disponibili, in quanto alcuni di essi sono stati abbandonati o integrati con altri progetti. FONTE: http://www.slideshare.net/shuliyu/innovation-in-the-programmable-web-characterizing-the-mashup-ecosystem
    •  
    •  
    • La seguente figura mostra l’evoluzione del livello di interesse dal 2004 ad oggi riguardo queste applicazioni.
    • API CALL DATA Interfaccia Pubblica (API, RSS, ...)
    • HOUSINGMAPS.COM API CALL DATA Interfaccia Pubblica (API, RSS, ...)
    • In questi diagrammi a torta possiamo vedere come il mondo dei mashup sia in evoluzione. Nel primo, quello relativo alla classifica delle categorie di applicazioni più sviluppate in assoluto, notiamo che il mapping ricopre il ruolo da leader incontrastato, mentre le categorie photo , shopping , video e search si contendono la seconda posizione. Sorprendentemente, la categoria news è solo nona. Nel secondo, relativo al trend degli ultimi 14 giorni, vediamo che mapping continua a dominare, anche se fa registrare una leggera flessione del 7%. Da notare l’ascesa di 3 nuove categorie: Twitter , microblogging e charts , che confermano positivamente il fenomeno blogs. L’ultima new entry, visualization , potrebbe in realtà spiegare il piccolo calo di photo , dato che non è molto chiara la linea di demarcazione tra le due categorie.
    • Mashup: Relazione APIs - Mashup FONTE: http://www.slideshare.net/shuliyu/innovation-in-the-programmable-web-characterizing-the-mashup-ecosystem
      • E’ possibile creare un business da un’applicazione di mashup?
      • I punti critici legati a questa domanda sono sostanzialmente due:
      • Non si ha controllo sulle fonti esterne, come si può investire in un business senza avere garanzia di continuità del servizio?
      • Come gestire il fatto della proprietà intellettuale? Un applicazione di mashup, per quanto possa essere geniale, sfrutta contenuti esterni e, di conseguenza, potrebbero nascere grossi problemi nel caso il business funzionasse.
    • Yahoo! Pipes
    • Yahoo! Pipes è una applicazione web che fornisce una GUI (Graphic User Interface) per costruire Mashup, permettendo all’utente di aggregare web feeds, pagine web e altri servizi, creando così applicazione web-based da varie fonti. L’applicazione lavora permettendo agli utenti “collegare” informazioni da differenti fonti, permettendo all’utente di configurare regole per modificarne il contenuto (come, ad esempio, il filtraggio dei dati). Fu rilasciato al pubblico il 7 Febbraio 2007 e attualmente è ancora in fase Beta. L’homepage del servizio è consultabile all’indirizzo: http://pipes.yahoo.com
    • L’Homepage di Yahoo! Pipes si presenta così
    • L’Homepage di Yahoo! Pipes si presenta così Elenco delle proprie Pipes realizzate Forum di discussione ufficiale Documentazione ufficiale Elenco delle Pipes pubblicate dagli utenti Accesso all’ambiente di sviluppo
    • Yahoo! Pipes: Ambiente di Sviluppo Elenco dei moduli forniti da Yahoo Pipes, divisi per categioria
    • Yahoo! Pipes: Ambiente di Sviluppo Per utilizzare un modulo è sufficente selezionarlo dal menù di sinistra e trascinarlo verso destra In questo caso, abbiamo draggato il modulo “Yahoo! Search”, mentre il modulo “Pipe Output” viene aggiunto automaticamente. Ogni modulo ha una funzione specifica. Dal loro collegamento possiamo otterremo la nostra applicazione. Nel caso i moduli di default non ci bastassero, è possibile modificarli, al fine di adattarli alle nostre esigenze..
    • Yahoo! Pipes: I Collegamenti Il DEBUGGER ci mostra in real time quale sarà l’output del modulo selezionato una volta lanciata l’esecuzione della pipe . In questo esempio, il modulo “Yahoo Search” è stato collegato al modulo “Pipe Output”, dopo aver inserito la key “ciao” nel box “Search for”. L’output è visibile nel debugger
    • I Mashup da noi realizzati sono tre: 1. “Localizza Eventi”: ricerca eventi data una o più keywords e li mostra su mappa; 2. “Aggregatore di Notizie”: ricerca di notizie da quattro diverse fonti di informazioni; 3. “Top10 Film Italia: dati i top10 film in Italia, aggrega vari contenuti. vediamoli in dettaglio..
    • Yahoo! Pipes: I nostri Mashup - 1 Ricerchiamo gli eventi legati a un’artista indicato dall’utente su eventful.com, un ricco archivio di eventi, e li geolocalizziamo attraverso Yahoo! Maps Otteniamo in output una mappa con evidenziati i luoghi dove si terranno gli eventi legati all’artista ricercato dall’utente.
    • Yahoo! Pipes: I nostri Mashup - 2 Aggreghiamo le notizie da 4 diverse fonti di informazione (Google News, Yahoo! Notizie, Ansa.it e ADNKronos ) in base all’input inserito dall’utente . Otteniamo in output un RSS aggregante tutte le notizie delle 4 fonti, selezionate in base alla keyword ricercata dall’utente. E’ stata implementata anche la geolocalizzazione delle notizie su una mappa indipendente dal RSS
    • Yahoo! Pipes: I nostri Mashup - 3 Prendiamo i 10 film che hanno incassato di più al box office grazie al RSS di Yahoo! Cinema, che, inoltre, ci fornisce la trama di ogni film. Per ogni film otteniamo l’url di riferimento alla scheda del film di IMDB.com, il più grande e completo archivio cinematografico disponibile in rete. Per ogni film, otteniamo l’url di riferimento al trailer del film su youtube.com, il più grande archivio di filmati della rete. Otteniamo in output un nuovo RSS , elencante i top 10 film al box office arricchito con, trama, link alla scheda e link al trailer
    • Il modulo Fetch Feed riceve in ingresso il feed di Yahoo! Cinema relativo ai top10 film Operiamo sulla lista dei film ottenuta dopo il fetching e andiamo a “pulire” i titoli dei film grazie al modulo Regex , sostituendo la posizione dei film con una stringa vuota..
    • Grazie ai moduli Loop e String Builder , andiamo a creare, per ogni film in ingresso, una variabile item.title2 che aggiunge la parola “Trailer” dopo il titolo del film Utilizziamo la variabile appena creata per ricercare, grazie al modulo Yahoo! Search , il trailer di ogni film sul portale Youtube, iterando la ricerca con il modulo Loop . Salviamo il primo risultato nella variabile item.loop1:ysearch
    • Grazie ai moduli Loop e String Builder , andiamo a creare, per ogni titolo di film, una variabile item.loop.strconcat che crea una stringa contenente l’url per ricercare la scheda del film su imdb.com Sfruttiamo quanto appena creato con i moduli Loop e Fetch Page , andando a trovare il link della scheda di imdb.com relativa ai film passati in ingresso, sfuttando le API di hansdezwart.info e settando opportunamente i filtri di cutting. Salviamo il link trovato, per ogni film, nella variabile item.loop3:fetchpage
    • Ora che abbiamo tutte le informazioni che cercavamo, con i moduli Loop e String Builder andiamo ad aggregarle e a salvarle nelle rispettive variabili item.description , utilizzando i tag html per definire correttamente l’output L’ultimpo passo consiste nella creazione del RSS con il modulo Create RSS , dove indichiamo i campi che vogliamo includere nel nostro feed. Fatto ciò ridirigiamo il tutto verso il modulo Pipe Output
      • PRO
      • Ambiente di sviluppo molto intuitivo, non richiede conoscenze di programmazione;
      • Ottimo il debugger, che rende molto più veloce la creazione delle applicazioni;
      • Possibilità di osservare il codice sorgente di tutti i progetti pubblicati in rete;
      • Possibilità di integrazione dei Pipes nelle pagine HTML attraverso i badges;
      • Pipes riutilizzabili;
      • Adatto per applicazioni semplici e personali;
      • CONTRO
      • Server molto instabile e inaffidabile;
      • Pochi tutorial dettagliati presenti in rete e quelli della community non sono documentati;
      • Diventa difficile sviluppare applicativi di grosse dimensioni;
      • Architettura “client-(unico)server”;
      • Inadatto per applicazioni complesse ed aziendali;