[JAVA/RMI] Altijd referenties krijgen

Pagina: 1
Acties:

  • Steven
  • Registratie: December 2000
  • Laatst online: 00:18
Hoi,

Ik heb me de laatste tijd verdiept in RMI, mooi idee vooral door zijn transparantie. Mijn uiteindelijke doel is dat ik met behulp van RMI een dataopslag laag wil aansturen.

Ik wil dat de client bij de server een Repository class kan aanmaken en daarmee aan het werk kan alsof die repository lokaal staat. Dit betekent dus ook dat hij daar allemaal dataobjecten uit kan halen, en zelfs Exceptions kan opvangen.

Echter de RMI zal van een class die niet java.rmi.remote extend altijd proberen die class te serializen en naar de client te sturen. En aangezien dat niet kan voor deze classes (en ik dat niet wil), gaat dat fout.

Ik heb ook geen zin om voor elke class die gebruikt wordt in die dataopslag-laag (enkele 100en) een wrapper class te maken die java.rmi.remote extends. Allereerst betwijfel ik of dat goed gaat, en ten tweede is de datalaag dan niet meer makkelijk te upgraden naar een nieuwe versie.

Wie weet of het mogelijk is om automatisch alle classes in de JAR-files voor die datalaag java.rmi.remote te laten extenden? Ben benieuwd of het mogelijk is?

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Je moet eens zoeken naar wat alternatieven voor RMI. Er zijn er zat te vinden en een heleboel hebben de mogelijkheid om ook te werken zonder te extenden van een of andere Remote interface.

Do diamonds shine on the dark side of the moon :?


  • jAnO!
  • Registratie: Januari 2002
  • Laatst online: 28-01 13:12

jAnO!

lalalavanillevla

Ik zou niet zelf remote gaan implementeren. Zijn plenty frameworks voor, krijg je er nog een hoop leuke dingetejes bij (security, transactions etc). Kijk eens naar EJB (3) of Spring icm remoting.

When some people work at a place for ten years they get ten years of experience, other people work at a place for ten years and get one year of experience ten times.


  • Steven
  • Registratie: December 2000
  • Laatst online: 00:18
Maar die zijn allemaal niet 100% transparant... en dat is best wel belangrijk. Of kennen jullie een methode die wel volledig transparant is?

  • newpegasus
  • Registratie: Juni 2003
  • Laatst online: 13-03-2022

newpegasus

Hertog

Wat ook een mogelijkheid is, waarbij wel de transparantie gehouden wordt, is het maken van een Facade Controller, die voor iedere data-opslag klasse een methode get<insert klassenaam>Referentie() heeft. Deze Controller erft vervolgens over van de Remote interface en geeft in zijn methode een Remote reference mee. Zo kunnen je data klassen later altijd nog veranderen.

GuitarFacts | Last.fm | Google Zoekmachine Optimalisatie


  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Steven schreef op woensdag 20 juni 2007 @ 15:28:
Maar die zijn allemaal niet 100% transparant... en dat is best wel belangrijk. Of kennen jullie een methode die wel volledig transparant is?
Zoals ik al zei, zoek ff naar wat RMI alternatieven, zoals bijvoorbeeld deze: http://rmi-lite.sourceforge.net/

Do diamonds shine on the dark side of the moon :?

Pagina: 1