/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
'distribueret' RMI
Fra : Max Rotvel


Dato : 20-10-02 15:07

Hvordan kan man håndtere følgende problemstillinger i RMI:

Klient 1 beder en controller på serveren om at få oprettet
Objekt A og får stubben med tilbage. Men A skal også
distribueres ud til Klient 2 & 3.

Klient 2 redigerer i Objekt A. Disse ændringer skal også
distribueres ud til de andre klienter.

Skal hver klient have en RMI controller som serveren kender og
kan bruge til at holde dem opdateret (altså en form for to-vejs
RMI), eller er der en smartere løsning?

Venlig hilsen
--
Max (rotvel at mail dot dk)

 
 
Claus (20-10-2002)
Kommentar
Fra : Claus


Dato : 20-10-02 16:52

Nu er jeg ikke stiv i java, men jeg har lige læst om observer pattern.
Dit objekt a må være observable og klienterne observer.

-claus

"Max Rotvel" <this.address@is.invalid> skrev i en meddelelse
news:MPG.181cd6d414e2bb529896e2@news.inet.tele.dk...
> Hvordan kan man håndtere følgende problemstillinger i RMI:
>
> Klient 1 beder en controller på serveren om at få oprettet
> Objekt A og får stubben med tilbage. Men A skal også
> distribueres ud til Klient 2 & 3.
>
> Klient 2 redigerer i Objekt A. Disse ændringer skal også
> distribueres ud til de andre klienter.
>
> Skal hver klient have en RMI controller som serveren kender og
> kan bruge til at holde dem opdateret (altså en form for to-vejs
> RMI), eller er der en smartere løsning?
>
> Venlig hilsen
> --
> Max (rotvel at mail dot dk)



Max Rotvel (21-10-2002)
Kommentar
Fra : Max Rotvel


Dato : 21-10-02 07:34

Jeg har også tænkt i de baner, men troede egentlig ikke man
kunne det i RMI. Men jeg tog fejl:

http://java.sun.com/products/jdk/1.2/docs/guide/rmi/faq.html#ob
server

/max

Claus <no@spam.me> wrote:
> Nu er jeg ikke stiv i java, men jeg har lige læst om observer pattern.
> Dit objekt a må være observable og klienterne observer.
>
> -claus
>
> > Hvordan kan man håndtere følgende problemstillinger i RMI:
> >
> > Klient 1 beder en controller på serveren om at få oprettet
> > Objekt A og får stubben med tilbage. Men A skal også
> > distribueres ud til Klient 2 & 3.
> >
> > Klient 2 redigerer i Objekt A. Disse ændringer skal også
> > distribueres ud til de andre klienter.
> >
> > Skal hver klient have en RMI controller som serveren kender og
> > kan bruge til at holde dem opdateret (altså en form for to-vejs
> > RMI), eller er der en smartere løsning?

Lasse Westh-Nielsen (22-10-2002)
Kommentar
Fra : Lasse Westh-Nielsen


Dato : 22-10-02 16:35

Prøv at kigge her, jeg har for nylig været igang med noget lignende:

http://www.daimi.au.dk/~lasse/DOPC/assignment1/RMIObserver/

Husk du skal starte RMIregistry og den slags småting...

- Lasse


"Max Rotvel" <this.address@is.invalid> wrote in message
news:MPG.181dbe377092d259896e4@news.inet.tele.dk...
> Jeg har også tænkt i de baner, men troede egentlig ikke man
> kunne det i RMI. Men jeg tog fejl:
>
> http://java.sun.com/products/jdk/1.2/docs/guide/rmi/faq.html#ob
> server
>
> /max
>
> Claus <no@spam.me> wrote:
> > Nu er jeg ikke stiv i java, men jeg har lige læst om observer pattern.
> > Dit objekt a må være observable og klienterne observer.
> >
> > -claus
> >
> > > Hvordan kan man håndtere følgende problemstillinger i RMI:
> > >
> > > Klient 1 beder en controller på serveren om at få oprettet
> > > Objekt A og får stubben med tilbage. Men A skal også
> > > distribueres ud til Klient 2 & 3.
> > >
> > > Klient 2 redigerer i Objekt A. Disse ændringer skal også
> > > distribueres ud til de andre klienter.
> > >
> > > Skal hver klient have en RMI controller som serveren kender og
> > > kan bruge til at holde dem opdateret (altså en form for to-vejs
> > > RMI), eller er der en smartere løsning?



Bertel Lund Hansen (20-10-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 20-10-02 17:01

Max Rotvel skrev:

>Hvordan kan man håndtere følgende problemstillinger i RMI:

>Klient 1 beder en controller på serveren om at få oprettet
>Objekt A og får stubben med tilbage. Men A skal også
>distribueres ud til Klient 2 & 3.

>Klient 2 redigerer i Objekt A.

Hvad med at lade klienten redigere A' (og beholde A) og sende A'
til serveren som derefter bytter A ud med A' og distribuerer
denne til alle klienter?

Men opdatering af flere klienter 'samtidig' uden at konsistensen
brydes, er noget giftigt stads. Og hvad hvis der er to der
redigerer samme objekt.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Max Rotvel (21-10-2002)
Kommentar
Fra : Max Rotvel


Dato : 21-10-02 07:24

Bertel Lund Hansen <nospam@lundhansen.dk> wrote:

> >Hvordan kan man håndtere følgende problemstillinger i RMI:
>
> >Klient 1 beder en controller på serveren om at få oprettet
> >Objekt A og får stubben med tilbage. Men A skal også
> >distribueres ud til Klient 2 & 3.
>
> >Klient 2 redigerer i Objekt A.
>
> Hvad med at lade klienten redigere A' (og beholde A) og sende A'
> til serveren som derefter bytter A ud med A' og distribuerer
> denne til alle klienter?

Det er sådan set det jeg ønsker skal ske. Min problem er mere
hvordan det er smartest at implementere det.

> Men opdatering af flere klienter 'samtidig' uden at konsistensen
> brydes, er noget giftigt stads. Og hvad hvis der er to der
> redigerer samme objekt.

Samtidighed er ikke noget problem (*host*). Objekterne 'låses'
af klienten mens der redigeres i dem.

Venlig hilsen
--
Max (rotvel at mail dot dk)

Bertel Lund Hansen (21-10-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 21-10-02 07:38

Max Rotvel skrev:

>Det er sådan set det jeg ønsker skal ske. Min problem er mere
>hvordan det er smartest at implementere det.

Dit problem er et adgang til delt ressource-problem. Jeg kender
to måder at løse det på. Den nemmeste er nok at serveren sidder
på en nøgle til objektet. Nøglen kan udleveres til en klient på
opfordring. Forespørgsler der ankommer mens nøglen er i brug,
puttes i en kø.

Når nøglen leveres tilbage, er objektet (formodentlig - det kan
tjekkes) opdateret, og så påtvinger serveren alle klienter (der
bruger objektet) en frisk kopi.

Problemet ved løsningen er at et servercrash måske er
katastrofalt. Man kan naturligvis indbygge persistens hvis det er
vigtigt (men ikke helt forhindre alle mulige katastrofer).

Den anden løsning består i at alle spørger alle om lov, men der
kan et crash også godt blive drilagtigt.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste