Pubsubhubbub è un protocollo che sposa il paradigma
publish/subscribe per la pubblicazione e condivisione di informazioni su Internet.
Esso estende i feed RSS e Atom con il principale scopo di aggiornare in real time gli iscritti a un determinato feed. Tre sono gli attori principali in questo protocollo: il
publisher, il
subscriber e l'
hub. Il primo ha il compito di pubblicare qualche cosa su un classico feed; il secondo invece tiene d'occhio tale feed per ricevere gli aggiornamenti quanto più velocemente possibile; tra questi due, il terzo preleva i dati inseriti dal
publisher e li spedisce a tutti gli interessati
subscriber.
Il
compito dell'hub è duplice: scaricare il publisher dall'onere di tenere aggiornati i
subscriber, e aggiornare questi ultimi in tempo reale. In realtà per l'iscrizione a un feed, il quale dichiara un hub via
<link rel="hub" ...>, il
subscriber richiede il permesso all'hub e non al
publisher. Questi poi
pinga l'hub per notificare una pubblicazione avvenuta, o subisce un pull periodico dall'hub, che ricerca gli ultimi dati inseriti.
Pubsubhubbub è un
protocollo decentralizzato oltre che open: ciascuno può diventare un hub o eventualmente usare quelli
disponibili come
questo realizzato su Google App Engine. Il sorgente di questa applicazione è disponibile liberamente sul
sito ufficiale.
Sempre sul sito di
pubsubhubbub si trovano anche
libere implementazioni di client per
publisher e
subscriber in vari linguaggi. Infine
tutte le specifiche sono online.