Sunteți pe pagina 1din 11

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

i modelul Replicated Workers

JavaSpaces

Iulius Curt 334CA iulius.curt@cti.pub.ro


16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

Object Space
Dezvoltat la Yale University (implementat i un limbaj pentru a susine conceptul: Linda)

Client 1 Spaiu de Obiecte Client 2 Client 3

Obiectele din spaiu sunt pasive Mutex asigurat n mod inerent


16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

JavaSpaces

Implementarea n Java a conceptului. Permite unul sau mai multe spaii. Face parte din Jini, arhitectur orientat pe serviciu, introdus de Sun in 98. A fost rencarnat de Apache ca River.
Se pare c toate linkurile de la Sun/Oracle ctre Jini sunt czute.

Documentaie...

16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

JavaSpaces API
Elemente:
Spaii Entiti (Obiecte)

API minimalist dar puternic Operatii:


write read take

16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

Exemplu
Un exemplu simplu de workflow:
Se instaniaz un obiect Spaiu Se instaniaz un obiect Entitate (implementeaz Entity) Se apeleaz `write` pe obiectul Entitate, in Spaiu. Un proces apeleaz `read` i obine o copie Un alt proces apeleaz `take` i obiectul i este oferit odat cu tergerea lui din spaiu Dupa procesare, apeleaz `write` i repune obiectul n spaiul partajat

16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

Alte caracteristici

Spaiile sunt partajate (in reea) Spaiile sunt persistente (se poate specifica un timp de via) Spaiile asigur atomicitatea tranzaciilor Identificarea obiectelor in spaii se face dup abloane, nu dup un identificator

16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

... i nu n ultimul rnd

Spaiile permit schimbul de coninut executabil. Proprietate esenial pentru perspectiva implementrii modelului Replicated Workers.

public class Job implements Entry { public String content; public void actionMethod() { // cod executabil } }

16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

Replicated Workers pe scurt


Pattern n care un numr de procese joac rol de worker Workerii primesc joburi, le rezolva, ntorc rezultatele Necesit o entitate care produce joburi i centralizeaz rezultatele

16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

Replicated Workers n JSpaces


Un proces central creeaza obiecte-job i le plaseaz intr-un spaiu Procesele worker iau cte un obiect (take) i l prelucreaz. Sincronizarea este asigurat implicit de paradigma JavaSpaces.

16.01.2012

Protocoale de comunicaie Prezentri Laborator

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

(Dez)Avantajele folosirii JSpaces


Avantaje:
Sincronizarea vine natural Coada de joburi e emulata inerent de spaiul de obiecte Spaiul e persistent

Dezavantaje:
Un worker ia obiectul din spaiu, deci, daca pic n timpul procesrii, obiectul se pierde

16.01.2012

Protocoale de comunicaie Prezentri Laborator

10

Universitatea Politehnica Bucureti - Facultatea de Automatica si Calculatoare

ntrebri?

16.01.2012

Protocoale de comunicaie Prezentri Laborator

11