Cos`è un mashup?

Transcript

Cos`è un mashup?
Web
W
b mashup
h e servizi
i i di
connessione alle reti sociali
Le tecnologie del Web 2.0
Prof. Filippo Lanubile
Cos’è un mashup?
• Un genere musicale che combina la musica di
una canzone con il canto di un’altra
– The Police (Every Breath You Take) vs. Snow Patrol
(Chasing Cars) :
Every Car You Chase
– Madonna (Music) vs. The Trammps (Disco Inferno):
Music Inferno
• Nell’ICT
Nell ICT è un
un’applicazione
applicazione web che combina i
dati di più sorgenti in un singolo sistema
integrato
– http://www.programmableweb.com/mashups
– http://www.mashupfeed.com
Prof. Filippo Lanubile
– http://mashupawards com
1
Esempio: Southern California
wildfires maps
http://www.latimes.com/news/local/lafiremap,0,6179739.htmlpage?coll=la-home-center
• Integrazione tra:
– database incendi
sviluppati
il
ti nell sud
d
della California.
– mappe di Google
Maps
• Ad ogni incendio
sono associate un
insieme di
informazioni
–
–
–
–
acri bruciati
abitazioni distrutte
stato di evacuazione
…
Prof. Filippo Lanubile
Esempio: HousingMaps
http://www.housingmaps.com
• Integrazione tra:
– Craiglist: sito che
raccoglie annunci
annunci, anche
di tipo immobiliare
– GoogleMaps
• Selezionata una città, si
sceglie il tipo di
“soluzione” (affitto,
acquisto, subaffitto)
• Selezionata la
categoria, si
visualizzano le case
disponibili o meno
Prof. Filippo Lanubile
2
Integrazione di servizi
Livello dati
Livello Presentazione
Livello Funzionale
Prof. Filippo Lanubile
Web Mashup
• Aggregazione di contenuti e funzionalità provenienti da fonti
esterne
– Fonti aperte: via (REST) API, RSS feed
– Fonti chiuse: via screen scraping
• Integrazione a diversi livelli, laddove consentito a
livello di presentazione
Prof. Filippo Lanubile
3
Social Network Connect
Services (SNCS)
• Permettono lo sviluppo di applicazioni di
terze parti
– Accesso alle informazioni e ai media
– Modifica e aggiornamento di informazioni
• Tre tipi di informazioni:
– Identity data
– Social-graph data
– Content data
Prof. Filippo Lanubile
SNCS API
Quattro categorie di API per l’interfacciamento a un
servizio di social networking
Prof. Filippo Lanubile
4
FriendFeed
• Aggregatore real time di feed
– Supporta
pp
q
qualunque
q sito offra servizio di notifica via
RSS/ATOM
• Possibilità di creare gruppi
– Ciascun membro del gruppo sceglie cosa
condividere con gli altri
• In auge fino al 2009, anno di acquisizione da
parte di Facebook
Prof. Filippo Lanubile
Analisi dei servizi di
connessione ai social network
• Social Network analizzati
– Facebook
– LinkedIn
– Twitter
• 4 macro-caratteristiche
–
–
–
–
API
Authentication
Applications
Groups
Prof. Filippo Lanubile
5
Facebook Platform Services
Prof. Filippo Lanubile
Autenticazione ed estensione
della rete sociale in Facebook
Mediante protocollo OAuth 2.0
Prof. Filippo Lanubile
6
Facebook API
• Core API
– Graph API, social plugins
• Facebook SDKs
– JavaScript, PHP, Phyton, iOS, Android SDK
• Advanced API
– Facebook Query Language, Facebook Markup
Language, REST API, Internationalization, Integration
with Facebook chat
• Open Streams API
– Permettono a siti di terze parti di leggere e scrivere su
flussi di attività degli utenti
• Graph API
– Forniscono una vista del social graph rappresentando
uniformemente oggetti (persone, eventi, pagine, foto) e
connessioni tra loro
Prof. Filippo Lanubile
Facebook Groups
• Tipi di privacy setting
– open
• ttutti
tti possono iscriversi
i i
i e iinvitare
it
altre
lt persone
• le informazioni sul gruppo e i suoi contenuti sono visibili a tutti
e possono essere indicizzate dai motori di ricerca
– closed
• gli amministratori devono approvare le nuove richieste di
iscrizione
• tutti possono vedere la descrizione del gruppo, ma solo i
possono vedere la bacheca,, l'area discussioni e le foto
membri p
– secret
• il gruppo non comparirà tra i risultati delle ricerche o nei profili
dei suoi membri. L'adesione al gruppo è possibile solo su
invito
Prof. Filippo Lanubile
7
Facebook Applications
• Social plugins
– Permettono di vedere cosa gradiscono gli amici (like
button) cosa hanno commentato o condiviso (activity
button),
feed) sui siti
• Si possono costruire applicazioni, integrate o meno
all’interno di Facebook
– Le apps possono interagire con tutti gli aspetti
dell’esperienza utente, come la pagina del profilo, i
bookmarks e gli streams
• Facebook for Mobile Apps
– Possibilità di costruire mobile applications
• Native mobile app
– Facendo uso di iOS, Android e Blackberry SDK
Prof. Filippo Lanubile
LinkedIn API
• REST APIs
– Networks Updates / Status – People Communications
•
•
•
•
•
•
•
•
Get Network Updates and Statistic API
Share API
Post Network Update API
Profile API
eop e Sea
Search
c API
People
Connections API
Messaging between connections API
Invitation API
Prof. Filippo Lanubile
8
LinkedIn Auth & Groups
• Authentication
– OAuth 2.0
• Groups
– due opzioni di accesso ad un gruppo
• accesso aperto
• richieste di adesione
– scoprire le discussioni più popolari nei propri gruppi
professionali
– avere un ruolo attivo nel determinare le discussioni più
importanti attraverso i commenti e i “like”
like
– seguire le persone più influenti nei propri gruppi controllando la
“top influencers board”
Prof. Filippo Lanubile
LinkedIn Applications
Widgets di LinkedIn
• Company Insider
– permette di mostrare quante e quali persone, che l’utente
conosce appartengono ad una specifica compagnia
conosce,
• Profile
– mostra i profili LinkedIn su un blog, su un sito o su
un’applicazione
• Share on LinkedIn
– aggiunto ad un sito o ad un blog, permette agli utenti di
condividere il contenuto con le proprie connessioni o reti
LinkedIn
• LinkedIn lavora in parallelo con Twitter
– possibilità di tweet dello status LinkedIn in Twitter e
viceversa
Prof. Filippo Lanubile
9
Twitter API & Apps
• API
– REST API, Search API, Streaming API
– API disponibili nei linguaggi Flash,
Flash C++
C++, .NET,
NET Eiffel
Eiffel,
Erlang, Java, JavaScript, ObjectiveC/Cocoa, Perl, PHP,
Python, Ruby, Scala
• Applications
– Tweet button
– Twitpic
• condivisione di foto su Twitter
– Share Bookmarklet
• condivisione di una pagina web su Twitter, anche se non c’è
un Tweet Button
– Widgets
• widget del profilo, di ricerca, dei preferiti, con liste
Prof. Filippo Lanubile
Twitter Authentication
• REST API
– Un’applicazione o un servizio web può utilizzare
pienamente il processo web
web-based
based di OAuth
• Twitpic e yfrog utilizzano OAuth per comunicare con le API di
Twitter
– Desktop e Mobile Application
• se si può gestire una callback URL (web app)  consigliato
uso di OAuth
• altrimenti, bisogna considerare Out-of-band/PIN code
authentication (oob)
• Search API
– Non richiede autenticazione
• Streaming API
– Richiede autenticazione (OAuth)
Prof. Filippo Lanubile
10
OAuth Authorization
flow in Twitter
Prof. Filippo Lanubile
Twitter Groups
Liste
• Possibilità di raggruppare i profili in base ad
argomenti
ti ttrattati,
tt ti rapporti
ti personali,
li
professionalità, provenienza geografica e altro
• Lists privacy settings
– Pubblica
• lista visibile sulla pagina del profilo dell’utente
• possibilità di scovare più facilmente, tra le liste create dagli
altri, nuovi profili da seguire su un argomento di interesse
– Privata
• utile per raggruppare i profili in base ai rapporti personali o
ad esempio per creare liste negative
• Varie operazioni tramite API
Prof. Filippo Lanubile
11