# Synchronisation von Clients



## borobudur (10. Jan 2011)

Hallo,
welche möglichkeiten seht ihr, clients via einem server zu synchronisieren? Die clients sind desktop-applikationen, z.B. swing-fat-clients. 

Was wäre eine schlanke wahl? Ich könnte mir vorstellen, dass ich das mit einem applikationsserver hinkriege oder ev. mit spring. 
Aber auf was bezieht sich dort die synchronisation? Auf daten von relationale-datenbanken?

Der server verwaltet keine traditionelle datenbank sondern einen triple-store.

Besten dank für den input!


----------



## tagedieb (11. Jan 2011)

Ich denke du koenntest eine art Chat-Server verwenden an dem sich die Clients registrieren und mit neuen Daten synchronisiert werden.

Aber erst solltest du mal ein Konzept erstellen... Wenn es nur darum geht, dass die Client Daten untereinander austauchen bruachst du ja auch keine Datenbank. Wenn sich ein neuer Client anmeldet reicht es wenn er ab sofort alle neuen Daten erhaelt oder benoetigt er den ganzen Datenbestand?


----------



## borobudur (11. Jan 2011)

Es sollte ein collaboratives arbeiten möglich sein. Das heisst, wenn ein client eine änderung am daten-modell vornimmt, sollten das die anderen clients auch mitkriegen resp. der server sollte die daten an alle pushen.


----------



## tuxedo (11. Jan 2011)

Hört sich beinahe "trivial" an.

Du könntest RMI benutzen mit Callbacks um die Clients zu informieren, oder SIMON mit Callbacks um die Clients zu informieren. Oder auch JMS mit einem entsprechenden Topic auf dem alle Clients lauschen. Oder oder oder ...

- Alex


----------



## Wildcard (12. Jan 2011)

CDO ist dafür eigentlich ideal (damit ist es dann auch wirklich trivial...)
CDO Model Repository


----------



## borobudur (14. Jan 2011)

Wildcard hat gesagt.:


> CDO ist dafür eigentlich ideal (damit ist es dann auch wirklich trivial...)
> CDO Model Repository



CDO sieht sehr interessant aus. Was leider nicht wirklich zu meinem projekt passt ist EMF und seine eCore-modelle. CDO übernimmt auch gleich die persistenze zu conventionellen datenbanken. Ich stelle meine business-logik auf semantische technologien, sprich auf einen triple-store.

Es wäre wohl nicht gerade trivial ein ecore-modell auf ein rdf-/owl-model zu mappen und die persistenzschicht auf einen triple-store zu trimmen.


----------



## Wildcard (14. Jan 2011)

> Es wäre wohl nicht gerade trivial ein ecore-modell auf ein rdf-/owl-model zu mappen und die persistenzschicht auf einen triple-store zu trimmen.


Ich bin nicht gerade in der rdf Welt zu Hause, aber schau vielleicht mal hier:
http://www.abdn.ac.uk/~r01srt7/swese2008/pdf/swese2008_submission_14.pdf


----------



## Wildcard (15. Jan 2011)

Das hier habe ich eben auch noch gefunden. Wenn du Glück hast lässt sich das schon mit CDO kombinieren:
emftriple - Project Hosting on Google Code


----------



## borobudur (15. Jan 2011)

Wildcard hat gesagt.:


> Ich bin nicht gerade in der rdf Welt zu Hause, aber schau vielleicht mal hier:
> http://www.abdn.ac.uk/~r01srt7/swese2008/pdf/swese2008_submission_14.pdf


Ich habe die EMFTriple-API (emftriple - Project Hosting on Google Code) gesehen. Ich fürchte um die performanz.


----------



## Wildcard (15. Jan 2011)

Dazu kann ich dir leider nicht viel sagen, RDF ist für mich bisher immer out-of-scope gewesen.
Für die Grundanforderung ein Modell auf Clients zu verteilen, synchron zu halten und gleichzeitig, konfliktfrei damit arbeiten zu können ist CDO quasi Standard. Inwiefern sich CDO allerdings mit einem Triple Store vereinen lässt, musst du entweder ausprobieren, oder einen anderen Weg einschlagen.
Sollte CDO ausscheiden schau dir vielleicht dennoch das CDO Subprojekt Net4J an. Ein Framework für die Implementierung performanter eigener Netzwerkprotokolle.


----------



## FArt (17. Jan 2011)

JGroups


----------

