# Client-Server anwendung sofort aktualisieren



## Aldimann (24. Feb 2010)

Hallo zusammen,

folgendes Problem:

Ich möchte asynchron meine Daten auf Clients aktualisieren.

Das heißt ein Client ändert Daten und sendet das an eine Datenbank und dabei werden alle Clients aktualisiert mit den neuen Daten die von dem einen Client geändert wurden.

Hatte dabei irgendwie Hibernate im hinterkopf.

Gibt es dazu irgendwelche Lösungen?


----------



## Atze (24. Feb 2010)

ob es da schon was fertiges (changeListeners) gibt weiß ich nicht, ansonsten müssen deine clients selbst regelmäßig überprüfen, ob sich in der db was geändert hat.


----------



## Michael... (24. Feb 2010)

oder einen Server implementieren der die Änderungsanforderungen empfängt, in die Datenbank einträgt und die anderen Clients darüber informiert.


----------



## Atze (24. Feb 2010)

oder so


----------



## Michael... (24. Feb 2010)

Hängt halt von den zur Verfügung stehenden Möglichkeiten ab und wieviel Aufwand man da reinstecken will.
Der Vorschlag von Atze sicherlich recht schnell und einfach umzusetzen - kenne genügend Anwendungen die so arbeiten.


----------



## Atze (24. Feb 2010)

ja, deine lösung ist ja auch die verteiltere (bessere), eigentlich sollte der client ja von der db nix wissen sondern über den server gehen. aber für kleine projekte (übungen) sicher zu übertrieben.


----------



## Aldimann (24. Feb 2010)

Danke schonmal für die Antworten.

Ich habe beide Lösungen (Micheal... und Atze) schon überdacht und hatte gehofft es gibt da evtl. was vorgefertigtes was nur benutz werden will :/.

Problem bei der Lösung von Atze wäre, dass es sein kann das zweitweise viele DB änderungen anfallen und sich somit die Clients in die Haare kriegen und dann wieder eine Zeit kommt wo nichts passiert.

Bei Micheals Lösung hätte ich jetzt gesagt immer wenn Werte in der DB neu gesetzt werden wird ein läuft das über eine Schnittstelle in Form eines Serverseitigen Programm, dass dann auch gleich einen refresh bei allen clients auslöst.

Hat jemand evtl noch ne bessere idee?


----------



## Gast2 (24. Feb 2010)

Kommt auf die Datenbank an.

Wenn du eine ORACLE hast kannst du einfach einen INSERT Trigger auf die Tabelle legen und dann einen TCP oder HTTP Call an die anderen Clients aus der Datenbank absetzten und sie so über Änderungen aktiv informieren.

Du kannst auch ein Broadcast vom Client der den Datensatz einfügt an alle anderen Clients machen.


----------

