Replikation

Client/Server vs. Replikation

Wenn es darum geht von verschiedenen Arbeitsplätzen aus die gleichen Daten einsehen und ggf. bearbeiten zu können, denken die meisten an eine klassische Client/Server Architektur. Hier werden die Daten ausschliesslich auf dem Server abgelegt. Die Clients verbinden sich Online und bekommen die Daten auf Anfrage. So funktioniert z.B. jede Webseite, wobei der Webbrowser der Client ist. In vielen Anwendungsfällen ist dieser Ansatz gut geeignet, jedoch stehen KEINE Daten zur Verfügung, wenn keine Verbindung zum Server hergestellt werden kann.
Ein anderer Ansatz ist daher die Daten auf jedem Gerät zu speichern, und die Änderungen zwischen den Geräten auszutauschen (zu replizieren) sobald eine Verbindung hergestellt werden kann. Dies bietet den Vorteil, das die Daten IMMER verfügbar sind, wobei gleichzeitig der Nachteil entsteht, das die Daten nicht mehr aktuell sein könnten.

Wir haben uns für die Replikation entschieden, weil die, unserer Meinung nach, wesentlich besser zu einer Vereinsverwaltung passt. Hier einige Gründe:

Replikation einrichten

In diesem Abschnitt wollen wir Ihnen zeigen wie man die Replikation einrichtet. Dazu betrachten wir verschiedene Fälle von einfach bis zu IT Experte erforderlich.

Ein Server, ein Client

Der einfachste Fall besteht aus einem Client und einem Server. Wenn Sie den bereits in Betrieb genommen haben, wird es Sie vielleicht überraschen, das Sie damit bereits einen Server betreiben. Installieren Sie das Programm nun auf einem 2. Computer. Beim ersten Start werden Sie folgende Frage sehen:

Wenn Sie hier mit Ja antworten, dann folgt der folgende Dialog, in dem Sie Ihren Benutzernamen, das Passwort und den Computernamen, bzw. die IP Adresse des ersten Computers eingeben.

Nachdem Sie die Daten mit OK bestätigt haben versucht das Programm eine Verbindung zum Server herzustellen, und zu prüfen, ob Ihre Login Daten OK sind. Ist dies der Fall beginnt die Replikation der Daten im Hintergrund. Sobald genügend Daten empfangen wurden öffnet sich das Hauptfenster der Anwendung. Je nach größe Ihrer Datenbank und Geschwindigkeit der Verbindung kann es einige Zeit dauern, bis alle Daten vollständig übertragen sind.

Ein Server, mehrere Clients

Wollen Sie mehrere Clients mit einem Server verbinden, dann wiederholen Sie die Anweisungen für einen Client aus dem vorhergehendem Abschnitt für jeden weiteren Client. Bitte beachten Sie, das alle Daten über den Server ausgetauscht werden. Ist dieser Offline, dann findet auch kein Datenaustausch zwischen den Clients statt. Ist hingegen einer der Clients Offline, dann tauschen alle anderen Geräte weiterhin Daten aus.

Konflikte

Bei dieser Art der Datenhaltung kann es vorkommen, das der gleiche Datensatz auf verschiedenen Computern geändert wurde (z.B. wenn ein System Offline war). In diesem Fall muss das System entscheiden, welcher Datensatz richtig ist. Wir haben uns für eine benutzerfreundliche Variante entschieden, bei der der Benutzer nicht eingreifen muß. Und die geht so: Es bleiben immer die Daten erhalten, die zuerst auf dem Server ankommen. Die Daten des zweiten werden überschrieben. Das hört sich nicht gut an, ist aber in der Praxis praktisch nie ein Problem, da selten die gleichen Datensätze geändert werden.

Konflikte vermeiden

Um Konflikte von vornherein zu vermeiden, kann eine der folgenden Strategien sinnvoll sein: