[MWy] Prvni cviceni pondeli 10. 3. 14:00 SU2

Martin Decky decky at dsrg.mff.cuni.cz
Fri Mar 7 17:48:53 CET 2008


Hezke odpoledne,

prvni cviceni z predmetu Middleware (pro treti beh, viz poznamka
o prvnim cviceni v Grupiku) se uskutecni v terminu uvedenem v predmetu 
tohoto emailu. Tema bude Java RMI, takze Vam doporucujeme oprasit 
vedomosti z prednasky, abyste meli predstavu, do ceho jdete. Pro 
prakticke zkouseni se Vam muze hodit Hello World example z wiki predmetu:

http://dsrg.mff.cuni.cz/~ceres/wik/mwy/uploads/Main/Example-RMI.tar.bz2

Na konci emailu naleznete take pravdepodobnou podobu zadani ulohy, 
kterou budete na cviceni vypracovavat (neocekavame do pondeli nejake 
radikalni zmeny). Samotny prubeh cviceni, forma odevzdavani, zadani 
rozsirene ulohy a dalsi podrobnosti budou vyreseny v uvodu cviceni.


M.D.


Zadani 1. ulohy z Middleware

   Cilem 1. zadani je ziskat zakladni zkusenost s distribuovanymi objekty
   v prostredi Java RMI a predstavu o tom, jak muze zpusob prace s nimi
   ovlivnit vykon aplikace.

   Uloha spociva v implementaci vyhledavani nejkratsi cesty mezi dvema
   vrcholy v orientovanem grafu, kde vsechny hrany maji delku 1. Graf je
   reprezentovan vrcholy. Kazdy vrchol si udrzuje mnozinu primych sousedu
   (vrcholu, do kterych vede z daneho vrcholu hrana) a poskytuje metody
   pro pridani, odebrani a ziskani teto mnoziny. Vyhledavani cesty je
   realizovano pomoci Searcher objektu a jeho metody, ktera dostane jako
   parametry dva vrcholy grafu, najde nejkratsi cestu z prvniho do
   druheho a jeji delku vrati.

   0. Implementujte toto zadani zcela lokalne a zmerte rychlost provadeni
      na nahodne generovanych hustych a ridkych grafech.

      Pozn.: Na cviceni bude poskytnuta implementace lokalniho reseni.

   1. Vytvorte server, ktery bude poskytovat Searcher jako vzdaleny
      objekt (bude potreba mirne rozsirit stavajici interface Searcher).
      Rozsirte klient tak, aby krome zcela lokalniho vyhledavani take
      vyhledaval pomoci sluzby serveru, kteremu preda uzly lokalne
      vytvoreneho grafu. Porovnejte rychlost obou variant.

   2. Implementujte vrcholy grafu jako distribuovane objekty vytvarene na
      zadost klienta na serveru. Doporucuje se distribuovanou variantu
      implementovat jako odlisnou tridu od lokalni, obe vsak implementuji
      spolecny interface. Zmerte rychlost vyhledavani cesty, kdy Searcher
      na klientu pracuje s vrcholy grafu na serveru. Porovnejte
      s predchozimi variantami.

   3. Zmerte rychlost vyhledavani cesty, kdy klient vzdalenemu Searcheru
      predava uzly vzdaleneho grafu. Porovnejte s predchozimi variantami.

   4. Porovnejte rychlosti vsech variant v pripadech, kdy klient a server
      jsou na stejnem stroji a ruznych strojich.




More information about the NSWI080 mailing list