servicii cu facilitati de tipul subscribe/unsubscribe

9
Servicii cu facilitati de tipul subscribe/unsubscribe Mugurel Ionuț Andreica 2012

Upload: rania

Post on 21-Jan-2016

19 views

Category:

Documents


0 download

DESCRIPTION

Servicii cu facilitati de tipul subscribe/unsubscribe. Mugurel Ionu ț Andreica 2012. Tipul de interactiune considerat pana acum: cerere-raspuns. Pana acum am considerat (in special) urmatorul tip de interactiune: Clientul trimite o cerere la serviciu - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Servicii cu facilitati de tipul subscribe/unsubscribe

Servicii cu facilitati de tipul subscribe/unsubscribe

Mugurel Ionuț Andreica

2012

Page 2: Servicii cu facilitati de tipul subscribe/unsubscribe

Tipul de interactiune considerat pana acum: cerere-raspuns

• Pana acum am considerat (in special) urmatorul tip de interactiune:– Clientul trimite o cerere la serviciu– Serviciul proceseaza cererea si trimite inapoi clientului un

raspuns (eventual)• Pentru fiecare cerere trimisa se asteapta inapoi

zero raspunsuri sau un raspuns– dupa ce este primit raspunsul (daca e cazul), nu se mai

asteapta date referitoare la cererea respectiva• Clientul nu se asteapta sa primeasca date de la

serviciu decat ca raspuns la o cerere• Instantele serviciului comunica intre ele (sau cu alte

servicii externe) tot conform modelului cerere-raspuns

Page 3: Servicii cu facilitati de tipul subscribe/unsubscribe

Tipul de interactiune considerat pana acum: multicast

• Transmisie de informatii intre instantele aceluiasi serviciu– Notificari, replicare de date, sincronizare

distribuita, etc.

• Comunicatia de tip multicast se bazeaza pe IP Multicast sau pe topologii peer-to-peer– Face parte din middleware-ul serviciului– Nu se realizeaza pe baza utilizarii unor servicii

de comunicatie externe (decat daca consideram facilitatea de IP Multicast un serviciu oferit de echipamentele de retea)

Page 4: Servicii cu facilitati de tipul subscribe/unsubscribe

Subscribe la un flux de date

• Tip special de cerere: subscribe– Clientul trimite serviciului o cerere de subscribe la un flux

de date– Serviciul proceseaza cererea ca orice alta cerere (ca si

pana acum) si trimite inapoi clientului ca raspuns un identificator al subscription-ului (eventual)

– In continuare, pe o perioada nedeterminata, serviciul va trimite clientului date din cadrul fluxului de date la care s-a abonat clientul (datele pot fi trimise folosind alti connector-i decat cei prin care s-a trimis cererea de subscribe)

• Modalitatea de transmitere a fluxului de date (protocol, adresa, port, etc.) poate fi specificata de catre client in cererea de subscribe

Page 5: Servicii cu facilitati de tipul subscribe/unsubscribe

Unsubscribe de la un flux de date

• Oricand dupa abonarea initiala, clientul poate trimite serviciului cerere de tip unsubscribe– Cererea specifica identificatorul de subscription

(si, eventual, elemente de autentificare)– Serviciul proceseaza cererea in mod normal (ca

si pana acum) si trimite clientului ca raspuns o confirmare sau infirmare a dezabonarii (eventual)

– Dupa procesarea completa a cererii de unsubscribe, serviciul nu va mai trimite fluxul de date corespunzator clientului

Page 6: Servicii cu facilitati de tipul subscribe/unsubscribe

Publicarea unui flux de date (1/2)

• Fluxurile de date la care se pot abona (de la care se pot dezabona) clientii pot fi generate intern de catre serviciu (de anumite instante ale sale) sau de catre servicii externe, care publica datele respective prin intermediul serviciului curent– De ex., serviciul se poate abona la un serviciu

extern de la care primeste fluxuri de date, pe care le poate apoi oferi spre subscribe clientilor proprii (este un serviciu intermediar)

Page 7: Servicii cu facilitati de tipul subscribe/unsubscribe

Publicarea unui flux de date (2/2)

• Alternativ, clientii serviciului pot trimite cereri de tip publish (publicare a unui flux de date generat de catre client sau obtinut din alta parte)– Serviciul trimite inapoi clientului o confirmare / infirmare

a publicarii fluxului de date, precum si informatii referitoare la modul de publicare (de ex., protocolul de transmisie a datelor, IP, port, etc.)

– In continuare, clientul trimite serviciului datele din cadrul fluxului de date (pe masura ce acestea sunt generate / obtinute)

– Serviciul poate transmite imediat datele primite catre clientii abonati la flux si/sau le poate stoca in vederea unor posibile (re)transmisii ulterioare

Page 8: Servicii cu facilitati de tipul subscribe/unsubscribe

Incetarea publicarii unui flux de date

• Oricand dupa publicarea unui flux de date F, un client poate inceta publicarea fluxului– Clientul trimite o cerere speciala serviciului in

acest sens (iar serviciul raspunde cu o confirmare a incheierii publicarii lui F – eventual)

– Serviciul notifica clientii abonati la F ca s-a incheiat transmisia lui F

Page 9: Servicii cu facilitati de tipul subscribe/unsubscribe

Publish/Subscribe = un tip de Multicast

• Un serviciu de tip publish/subscribe faciliteaza comunicatia de tip multicast (prin faptul ca acelasi flux de date poate fi primit de mai multi clienti)– De ex., servicii de monitorizare (MonALISA)

• Alte servicii externe pot utiliza serviciul de publish/subscribe pentru publicarea si primirea de date

• Cererea de subscribe poate specifica anumite restrictii referitoare la ce clienti se pot abona la fluxul de date publicat– Sau chiar restrictii referitoare la ce alti clienti pot publica date ca

parte a fluxului publicat (in cazul unor fluxuri de date generate colaborativ, care nu au o singura sursa)

• Serviciul de publish/subscribe poate optimiza intern transmisia de date multicast (de ex., utilizand mai multe instante, rutare la nivel aplicatie, etc.)