# Client Server über DB



## Java-Problems (31. Mai 2009)

Hallo zusammen,
ich habe ein Projekt geschrieben, das eine Datenbank-Verwaltung darstellt.
D.h. man kann bestimmte Datensätze hinzufügen und Abfragen generieren.
Das ganze geschieht natürlich über eine GUI.

Das ganze wird mit einer einfach Main-Methode mit 4-5 LoC gestartet.

Jetzt möchte ich eine Client-Server-Verbindung praktisch darüber setzen, d.h. jedem Client der reinkommt, werden genau diese 4-5 LoC angeboten sodass er diese GUI dann auf dem Rechner hat. D.h. der Server stellt die GUI und somit auch die DB-Verbindung  zur Verfügung. Ist das so machbar?
Wenn ja, hättet ihr mir vll. nen Tip oder en kleines Code-Beispiel, wie ich dies implementieren könnte?


----------



## tuxedo (1. Jun 2009)

Das klingt nach einer kompletten Restrukturierung und ist etwas mehr wie 4-5LoC ..

- Alex


----------



## Java-Problems (1. Jun 2009)

ist das so überhaupt nicht machbar?
Kann ich nicht einfach einem einkommenden Client sagen, rufe die 2-3 Befehle auf und du hast die GUI und damit die DB-Verbindung?


----------



## tuxedo (2. Jun 2009)

Wen ich dich richtig verstehe:

Du hast bisher nur eine lokale Anwendung mit einer GUI, die direkt auf die DB zugreifen.

Nun willst du einen Server dazwischen schalten. Dieser soll zum einen den Zugriff auf die DB bereitstellen und zum anderen eine GUI an den Client ausliefern? Das heisst der Client ist ziemlich "dumm" und verhält sich nur wie eine Art Browser: Er stellt die GUI, die er vom Server "bekommen" hat dar und lässt den User darauf Eingaben machen, die entsprechend zum Server geschickt werden können.
Somit wäre der Client eine "Art" Terminalclient ?!

Wenn das der Weg ist den du gehen willst, dann ist das ein nahezu Komplettumbau deiner Anwendung:

Zum einen muss die ganze DB-Logik raus aus der Single-User Anwendung, hinüber zum neu zu implementierenden Server. Die GUI-Logik kannst du dann auch komplett entfernen und rüber zum Server tun. Dort ist dann aber kein 0815 Swing/AWT/SWT mehr möglich, denn der Server muss die GUI (definiert via XML oder so) ja an den Client ausliefern (der anhand der XML Daten etc. die GUI letztendlich anzeigen kann). Dazu gibts diverse freie und kommerzielle Bibliotheken die sowas können. Ob und wie weit die mit Swing/AWT/SWT "kompatibel" sind weiß ich nicht. 

Jedenfalls wird das kein "kleiner" Umbau. Heisst aber im gleichen Zuge nicht, dass es nicht machbar ist. Ist nur eben (viel) Arbeit.

- Alex

P.S. eine der vielen Firmen die solche Rich Client Libs anbietet ist CaptainCasa GmbH ... Soll nur exemplarisch sein, bin irgenwann mal zufällig über die gestolpert.


----------



## Java-Problems (8. Jun 2009)

geht das nichtmal mit der Benutzung von RMI???


----------



## tuxedo (9. Jun 2009)

Nein, nicht mit RMI und auch nicht mit SIMON. Das was du willst ist eine servergeneriertes UI. Und dafür braucht man "Spezialwerkzeug". RMI und SIMON können nur Methoden auf dem Server aufrufen. Wenn du dein Spezialwerkzeug selbst bauen möchtest, wäre RMI und SIMON hierbei als Hilfsmittel anzusehen. Mehr aber auch nicht.

- Alex


----------

