# Wie mache ich es: Klasse auf Server, Funktionen per Client ausführen?



## Kyaha (12. Aug 2009)

Hallo alle miteinander!

Nachdem ich es nicht schaffe (s. Thread weiter unten  ) per XML-RPC einzelne Funktionen auf einem Server auszuführen, würde mich einmal interessieren: Wie liesse sich folgendes Szenario umsetzen und was bräuchte ich dafür?

Angedacht ist eine Client-Server-Architektur.
Beim Serverstart wird ein recht komplexes Objekt für eine Benutzerverwaltung initialisiert.
Der Client soll quasi beim Server anklopfen und ihn bitte, auf dem bereits initialisierten Objekt auf dem Server eine Funktion auszuführen (zb. Login/Logoff oder eine einfache Validierung).
Dazu sollten vom Client Parameter übertragen werden und vom Server eine Antwort (true, false, error....) zurückkommen.

Die Funktion auf dem Server ändert folglich den internen Status einiger Variablen (im obigen Beispiel wird eine Liste um ein Element ergänzt - registrierte Benutzer z.B.) des Objekts und soll nicht ständig neu initialisiert werden (was ja bedeuten würde: die Daten sind wieder futsch).
Natürlich ist mir klar, das beim Ausschalten des Servers alle Informationen im Objekt quasi "futsch" sind.

Ich wäre allen wirklich sehr dankbar, wenn ihr mir ein paar Buzzwords oder Tutorials nennen könntet, wie sich solcherleich gut umsetzen liesse - ohne jede Funktion quasi mit einem Datenbankzugriff zu belegen.

Besten Dank schon einmal im voraus!

Viele Grüße

Kyaha


----------



## FArt (12. Aug 2009)

Schlechtes Beispiel login/logoff ;-)
Das sollte man nicht über die eigene Logik abfackeln... 

Einfach zu bedienen: Spring Remoting.
Eine Java Bean (mit Interface) kann einfach über Konfiguration "exposed" werden (für verschiedene Protokolle per Remotezugriff zur Verfügung gestellt werden).


----------



## tuxedo (13. Aug 2009)

Das gute alte RMI, sowie SIMON oder auch JBoss Remoting (afaik kann man das auch ohne JBoss benutzen) wären evbenfalls alternativen ...

- Alex


----------



## tfa (13. Aug 2009)

Hier ein paar Beispiele:

RMI Minimal
Spring-Remoting mit RMI


----------



## tuxedo (13. Aug 2009)

Ein Beispiel zu SIMON zur Ergänzung:

SIMON - Start - root1.de - Software Engineering
SIMON - Sample helloworld - root1.de - Software Engineering


----------



## Kyaha (14. Aug 2009)

Besten Dank alle miteinander für die vielen Anregungen!

Nachdem RMI und Spring-RMI sich bei mir nicht wirklich schnell haben umsetzen lassen (entweder Probleme mit der Policy oder der XML) hat sich SIMON doch als sehr bequem und schnell implementierbar gezeigt.

Vielen Dank!

Beste Grüße

Kyaha


----------



## tfa (14. Aug 2009)

Das muss tuxedo runter gehen wie Öl


----------



## tuxedo (14. Aug 2009)

Da kannst du einen drauf lassen  *freu*

Falls es Probleme mit SIMON gibt: Auf root1.de - Software Engineering gibts ein dazu passendes Forum ... Würde mich freuen wenn du dann dort postest oder gleich ein neues Ticket im Bugtracker öffnest.

Gruß
Alex


----------

