Nel modello publish/subscribe, il produttore delle informazioni è chiamato editore mentre il consumatore è detto abbonato o iscritto.
L’editore fornisce informazioni su un argomento mentre l’abbonato indica gli argomenti a cui è interessato per ricevere poi le informazioni.
L’argomento dell’informazione è chiamato “topic” e altro non è che una stringa di caratteri. L’editore specifica il topic in fase di pubblicazione mentre l’abbonato lo indica in fase di iscrizione; dopo l’iscrizione riceverà informazioni solo per i topic a cui si è sottoscritto.
Gli abbonati possono specificare una gamma di topic utilizzando i caratteri jolly. Esempi di topic sono le stringhe “Sport” oppure “Sport/Calcio” o ancora “Sport/Golf”. Se in fase di iscrizione l’abbonato indica il topic “Sport/Calcio”, verrà notificato per le sole informazioni relative al Calcio; specificando “Sport/*” verrà notificato per tutte le informazioni riguardanti il Calcio ed il Golf.
Lo scambio dati tra gli editori e gli iscritti è controllato da un componente del MOM detto Broker.
Il Broker funge da intermediario tra editori e iscritti: il produttore di un messaggio pubblica il proprio messaggio al Broker, gli iscritti si rivolgono a loro volta al Broker per la sottoscrizione ad un certo topic.

Il punto di forza del modello pub/sub è il disaccoppiamento che il Broker crea tra l’editore e l’iscritto. Questa proprietà si esplica su tre livelli: quello spaziale, quello temporale e quello della sincronizzazione. Esaminiamo le caratteristiche di ognuno:
- Disaccoppiamento spaziale
- gli editori e gli iscritti non hanno necessità di conoscersi a vicenda;
- gli editori pubblicano dati attraverso il Broker e gli iscritti li ricevono da quest’ultimo;
- gli editori non mantengono un riferimento all’iscritto, né sanno quanti iscritti sono presenti nel sistema;
- gli iscritti non mantengono riferimenti gli editori né sanno quanti editori sono presenti nel sistema;
- Disaccoppiamento temporale
- non occorre che le parti che interagiscono siano attive nello stesso momento. Ad esempio, un editore può pubblicare eventi, ma l’iscritto interessato potrebbe non essere connesso
- viceversa, un abbonato può ricevere notifica per un evento prodotto da un editore che al momento risulta disconnesso.
- Disaccoppiamento della sincronizzazione
- non esiste sincronizzazione tra le parti. L’editore, all’atto della produzione di un evento, non resta in attesa che un iscritto interessato venga notificato
- analogamente gli abbonati ricevono, in modo asincrono, una notifica da parte del Broker quando l’evento a cui sono interessati è disponibile.
I tre tipi di disaccoppiamento tra produttori e consumatori di informazioni eliminano le dipendenze tra i partecipanti all’interazione, rendendo il modello estremamente flessibile.
Tag: broker, disaccoppaimento, messaging, modello, mom, pubblicazioni, publish, pubsub, sottoscrizioni, subscribe, topic
Settembre 3, 2008 alle 6:56 pm
Invece nel giornalismo il prduttore delle informazioni non è l’editore, ma la realtà, riproposta dal giornalista.
O così dovrebbe essere. Purtroppo anche nel giornalismo è spesso l’editore a “produrre” l’informazione.
Settembre 4, 2008 alle 7:46 am
kronakus concordo con te… La realtà dovrebbe essere il fatto cioè il topic. Esistono poi editori che creano topic senza il fatto o che descrivono il topic in modo distorto. Credo che l’unico modo per tentare di ricostruire la realtà sia quello di sottoscrivere gruppi “eterogenei” di editori.