JavaSpaces şi modelul Replicated Workers
-
Upload
ileana-aluizei -
Category
Documents
-
view
61 -
download
0
Transcript of JavaSpaces şi modelul Replicated Workers
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 1/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 1
JavaSpacesşi modelul Replicated Workers
Iulius Curt
334CA
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 2/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 2
• Dezvoltat la Yale University (implementat şi un limbaj pentru asusţine conceptul: Linda)
• Obiectele din spaţiu sunt pasive
• Mutex asigurat în mod inerent
Object Space
Spaţiu de Obiecte Client 1
Client 2
Client 3
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 3/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 3
JavaSpaces
• Implementarea în Java a conceptului. Permite unul sau maimulte spaţii.
• Face parte din Jini, arhitectură orientată pe serviciu, introdusă
de Sun in ‘98. A fost reîncarnată de Apache ca River.
• Documentaţie...
S e p ar e c ă t o a t el i nk ur i l e d el a
S un / Or a c l e c ă t r e J i ni s un t c ă z u t e.
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 4/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 4
JavaSpaces API
• Elemente:
– Spaţii
– Entităţi (Obiecte)
• API minimalist dar puternic
• Operatii:
– write
– read
– take
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 5/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Exemplu
• Un exemplu simplu de workflow:
– Se instanţiază un obiect Spaţiu
– Se instanţiază un obiect Entitate (implementează Entity)
– Se apelează `write` pe obiectul Entitate, in Spaţiu.
– Un proces apelează `read` şi obţine o copie
– Un alt proces apelează `take` şi obiectul îi este oferit odată cu
ştergerea lui din spaţiu
– Dupa procesare, apelează `write` şi repune obiectul în spaţiulpartajat
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 5
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 6/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 6
Alte caracteristici
• Spaţiile sunt partajate (in reţea)
• Spaţiile sunt persistente (se poate specifica un timp de viaţă)
• Spaţiile asigură atomicitatea tranzacţiilor
• Identificarea obiectelor in spaţii se face după şabloane, nu
după un identificator
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 7/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 7
... şi nu în ultimul rând
• Spaţiile permit schimbul de conţinut executabil.
• Proprietate esenţială pentru perspectiva implementării
modelului Replicated Workers.
public class Job implements Entry {public String content;
public void actionMethod() { // cod executabil
}}
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 8/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 8
Replicated Workers pe scurt
• Pattern în care un număr de procese joacă rol de “worker”
• Workerii primesc joburi, le rezolva, întorc rezultatele
• Necesită o entitate care produce joburi şi centralizează
rezultatele
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 9/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 9
Replicated Workers în JSpaces
• Un proces central creeaza obiecte- job şi le plasează intr -unspaţiu
• Procesele worker iau câte un obiect (take ) şi îl prelucrează.
• Sincronizarea este asigurată implicit de paradigma
JavaSpaces.
5/12/2018 JavaSpaces şi modelul Replicated Workers - slidepdf.com
http://slidepdf.com/reader/full/javaspaces-si-modelul-replicated-workers 10/11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
16.01.2012 Protocoale de comunicaţie – Prezentări Laborator 10
(Dez)Avantajele folosirii JSpaces
• Avantaje:
– Sincronizarea vine natural
– Coada de joburi e emulata inerent de spaţiul de obiecte
– Spaţiul e persistent
• Dezavantaje:
– Un worker ia obiectul din spaţiu, deci, daca pică în timpul
procesării, obiectul se pierde