Alternativa pentru implementarea modelului “replicated workers” î n sisteme distribuite: JavaSpaces 07.06.09 JavaSpaces –...
Voi vorbi despre ... <ul><li>Ce este JavaSpaces </li></ul><ul><li>“ Replicated workers” folosind JavaSpaces </li></ul>07.0...
1. JavaSpaces este ... 07.06.09 JavaSpaces – Dumitrache Mihai - Marian
07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>un model de programare distribuită </li></ul><ul><li>usor de folos...
07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>se folosesc obiecte şi memorii comune </li></ul><ul><li>API-ul Jav...
Metode utile aplicaţiilor 07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>write – se copiază obiectul în memoria ...
Memoriile comune în JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>sunt persistente (obiecte păstra...
Reguli pentru obiectele JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian import net.jini.core.entry.Entry; publi...
2. “Replicated workers” folosind JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian
07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>Fiecare memorie comună reprezintă un Work Pool </li></ul><ul><li>S...
Exemplu de program folosind JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian Jini framework http://www.jini.org/...
07.06.09 JavaSpaces – Dumitrache Mihai - Marian Întrebări ?
of 12

Prezentare Apd Java Spaces

Published on: Mar 4, 2016
Source: www.slideshare.net


Transcripts - Prezentare Apd Java Spaces

  • 1. Alternativa pentru implementarea modelului “replicated workers” î n sisteme distribuite: JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian Dumitrache Mihai – Marian Grupa 332CC [email_address]
  • 2. Voi vorbi despre ... <ul><li>Ce este JavaSpaces </li></ul><ul><li>“ Replicated workers” folosind JavaSpaces </li></ul>07.06.09 JavaSpaces – Dumitrache Mihai - Marian
  • 3. 1. JavaSpaces este ... 07.06.09 JavaSpaces – Dumitrache Mihai - Marian
  • 4. 07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>un model de programare distribuită </li></ul><ul><li>usor de folosit </li></ul><ul><li>expresiv </li></ul><ul><li>puternic prin complexitatea redusă codului </li></ul>
  • 5. 07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>se folosesc obiecte şi memorii comune </li></ul><ul><li>API-ul JavaSpaces conţine o serie de funcţii utile aplicaţiilor </li></ul>
  • 6. Metode utile aplicaţiilor 07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>write – se copiază obiectul în memoria comună </li></ul><ul><li>read – se citeşte un obiect </li></ul><ul><li>take – se copiază local un obiect dar se şterge din memoria comună </li></ul>
  • 7. Memoriile comune în JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>sunt persistente (obiecte păstrate la infinit ... ) </li></ul><ul><li>şi asociative – obiectele sunt identificate prin căutare asociativă şi nu prin identificatori sau locaţii de memorie </li></ul><ul><li>Pentru identificare se folosesc obiecte template. </li></ul>
  • 8. Reguli pentru obiectele JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian import net.jini.core.entry.Entry; public class Message implements Entry { public String content; public Message() { } } <ul><li>să implementeze interfaţa Entry </li></ul><ul><li>să aibă un constructor fără nici un argument </li></ul><ul><li>variabilele clasei să fie publice </li></ul><ul><li>variabilele clasei să nu fie de tipul primitivă: </li></ul><ul><li>Ex: “Integer a;” înlocuieşte “int a;” </li></ul>
  • 9. 2. “Replicated workers” folosind JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian
  • 10. 07.06.09 JavaSpaces – Dumitrache Mihai - Marian <ul><li>Fiecare memorie comună reprezintă un Work Pool </li></ul><ul><li>Se introduc taskuri iniţiale in work pool </li></ul><ul><li>Procesele executa operaţia take pentru a prelua un task </li></ul><ul><li>Daca se genereaza taskuri noi se introduc in work pool folosind operaţia write </li></ul>
  • 11. Exemplu de program folosind JavaSpaces 07.06.09 JavaSpaces – Dumitrache Mihai - Marian Jini framework http://www.jini.org/wiki/Main_Page import net.jini.space.JavaSpace; public class SpaceReader { public static void main(String argv[]){ MessageEntry msg = new MessageEntry(); Lookup finder = new Lookup(JavaSpace.class); JavaSpace space = (JavaSpace) finder.getService(); MessageEntry template = new MessageEntry(); MessageEntry result = space.read(template, null, Long.MAX_VALUE); System.out.println(&quot;The message is: &quot;+result.content); } } Writer: MessageEntry msg = new MessageEntry(); msg.content = &quot;Hello reader&quot;; Lookup finder = new Lookup(JavaSpace.class); JavaSpace space = (JavaSpace) finder.getService(); space.write(msg, null, 60*60*1000);
  • 12. 07.06.09 JavaSpaces – Dumitrache Mihai - Marian Întrebări ?

Related Documents