[MWy] (RMI) Implementace lokalni Node

Karel Fiser karl.von.bahnhof at centrum.cz
Wed Mar 16 18:04:58 CET 2011


Dekuji za presne a vycerpavajici zodpovezeni.

Karel Fiser


Dne 16.3.2011 17:51, Andrej Podzimek napsal(a):
> Dobrý den,
>
> v referenční implementaci máme dokonce dvě verze druhého úkolu:
>
> a) Node je pouze Serializable
> b) Node je UnicastRemoteObject
>
> V případě b) bude vzdálený Searcher k lokálním Nodes přistupovat přes stuby, tedy jako ke vzdáleným objektům po síti.
> (Jde o klasický případ „Invesion of Control“, tedy vzdálený Sarcher dostane reference vedoucí zpět na klienta.)
>
> V případě a) dojde na straně klienta k serializaci celých komponent grafu, které obklopují počáteční a koncový uzel
> předávaný metodě getDistance(). Komponenty se přenesou na server (tedy k implementaci vzdáleného rozhraní Searcher) a na
> serveru vzniknou jejich kopie, zcela nezávislé na originálech.
>
> Každý objekt typu Serializable může pochopitelně obsahovat reference na další objekty. Jde-li o reference typu
> Serializable (a nikoliv UnicastRemoteObject), serializují se rekurzivně. Jde-li o reference na UnicastRemoteObject,
> nahradí se při serializaci za stub, tedy „vzdálenou referenci“.
>
> Tím je zodpovězena otázka, jak se vzdálený Searcher dostane k sousedům příslušného uzlu v případě a) -- dostane jejich
> kopie. I když, přísně vzato, podle zadání máte tuto otázku zodpovědět Vy. ;-)
>
> Případ a) je preferovaný (a hovoří o něm i zadání), nicméně uznám i implementaci případu b) jako řešení.
>
> Mimochodem, v případě a) můžete u hustých grafů narazit na přetečení zásobníku. K němu může dojít právě při rekurzivní
> serializaci velké komponenty. (Pak nezbude než zkusit parametr -Xss...)
>
> S pozdravem
>
> Andrej Podzimek
>
>> Dobry den,
>> mel bych technickou otazku k druhemu ukolu (lokalni nodes, vzdaleny searcher) prvniho domaciho cviceni z middleware.
>> Je chyba aby NodeImpl dedilo od UnicastRemoteObject? Popripade co je na tom spatneho.
>> Kdybych implementoval NodeImpl jako potomka UnicastRemoteObject, byla by tato trida znovupouzitelna
>> u tretiho ukolu (vzdalene nodes, lokalni searcher), coz koliduje s pozadavkem z poznamek z cviceni:
>> Jiná třída než lokální NodeImpl!
>> Stačí copy/paste a upravit
>> Chceme, aby se lokální Nodes chovaly stále lokálně v předchozí variantě.
>>
>> Jak by se tedy lokalni NodeImpl implementovalo jinak nez jako potomek UnicastRemoteObject?
>> Stacilo by, aby implementovalo Serializable?
>> Jak by se ale potom dostal searcher k sousedum konkretniho node?
>>
>> Omlouvam se, jsem si vedom ze tyto otazky zaznely na prednasce,
>> bohuzel si nejsem jist s odpovedmi na ne.
>> Dekuji Karel Fiser
>
>
>
> _______________________________________________
> MWy mailing list
> MWy at d3s.mff.cuni.cz
> https://d3s.mff.cuni.cz/mailman/listinfo/mwy





More information about the NSWI080 mailing list