Wissenschaftliche
Softwareentwicklung
Projekte » Veranstaltungsverwaltung Natur bewegt » Datenbanksynchronisation
Die Anwendungsarchitektur erfordert eine Synchronisation zwischen einer SQL Server Datenbank im lokalen Netzwerk und einer SQL Server Datenbank auf dem Webserver. Zu diesem Zweck haben wir eine eigene .Net Komponente entwickelt, die eine Datenbanksynchronisation unabhängig von dem verwendeten Server ermöglicht. Die Komponente wird in diesem Projekt mit den SQL Server Version 2000, 2005 und 2008 verwendet und kann sogar für heterogene Datenbanksynchronisationen, wie z.B. zwischen Microsoft, Oracle und MySQL erweitert werden.

Der Synchronisationsmechanismus ruht auf drei Eckpfeilern. Zum einen werden alle Datensatzänderungen auf Datenbankebene in einer Job-Tabelle protokolliert. Der zweite wichtige Punkt ist die Verwendung von weltweit eindeutigen GUIDs (Globally Unique Identifier) als Primärschlüssel für die eindeutige Identifikation von Datensätzen. Der dritte Eckpfeiler ist die Verwendung eines rekursiven Algorithmus zur Analyse von relationalen Abhängigkeiten, der das Einfügen und Ändern von Datensätzen im laufenden Betrieb ohne Änderungen an den Datenbankeinschränkungen erlaubt.
Der Datenaustausch findet über Web Services und SSL statt und ermöglicht so einen sicheren Datenaustausch ohne aufwendige Netzwerkinfrastrukturen.