Softwareentwicklung

DataBridge

TransportMaster

Auftraggeber
TransportMaster
Kategorie
Softwareentwicklung
Jahr
2023
Technologien
C#SQLPHPAJAX
Synchronisierungsplattform zwischen AccountView, MySQL und Microsoft SQL Server

Dieses Projekt entstand als Synchronisierungsplattform zwischen AccountView und entfernten SQL-Umgebungen. Es stellt Geschäftsdaten für Websitefunktionen, Berichte, Integrationen und individuelle Onlineanwendungen bereit. Das Hauptziel war, ein lokales Verwaltungssystem mit einem modernen, webfähigen Backend zu verbinden, ohne der Website direkten Zugriff auf die ursprüngliche Quelldatenbank zu geben.

Statt manueller Exporte oder einmaliger Importe bereitet das System Daten aus AccountView kontinuierlich auf, strukturiert sie und synchronisiert sie mit MySQL oder Microsoft SQL Server. So entsteht eine zuverlässige Verbindung zwischen internen Verwaltungsdaten und einer entfernten Plattform, die sicher von der Website und weiteren digitalen Diensten genutzt werden kann.

Projektüberblick

AccountView enthält wichtige Betriebs- und Verwaltungsdaten, eignet sich aber nicht immer als direktes Backend für Webplattformen. Websites benötigen in der Regel eine klarere Datenbankstruktur, Fernzugriff, schnellere Abfragen und eine sichere Trennung zwischen öffentlicher Plattform und internem Geschäftssystem.

Deshalb wurde das Synchronisierungssystem als Middleware-Schicht entworfen. Es liest die Struktur der Quelldaten, ermittelt die zu synchronisierenden Tabellen, erstellt die Zielstruktur und überträgt Datensätze in eine entfernte SQL-Datenbank. Diese dient anschließend als Website-Backend, sodass Onlineanwendungen kontrollierter und besser skalierbar mit aktuellen Geschäftsdaten arbeiten können.

Was das System leistet

Das System untersucht den ausgewählten AccountView-Mandanten, liest Tabellendefinitionen, identifiziert Primärschlüssel und speichert die ermittelte Struktur zur Wiederverwendung in späteren Synchronisierungsläufen. Sobald die Struktur bekannt ist, kann es Tabellen im Zielsystem anlegen und mit der Übertragung von Datensätzen aus der lokalen Quelldatenbank in das gewählte SQL-Backend beginnen.

Die Synchronisierung unterstützt MySQL und Microsoft SQL Server. Damit passt sich die Plattform an unterschiedliche Hosting-Umgebungen und technische Anforderungen an. Manche Installationen verwenden MySQL als entferntes Website-Backend, andere Microsoft SQL Server. Der Wechsel zwischen den Backendtypen erfolgt über die Konfiguration.

Die Verbindung ist nicht auf ein einziges Datenbankmodell beschränkt. Sie kann eine gemeinsame entfernte Datenbank oder getrennte Datenbanken je Mandant verwenden. Das eignet sich für Installationen, in denen Mandantendaten klar voneinander getrennt bleiben müssen und trotzdem automatisch synchronisiert werden sollen.

Die Synchronisierungslogik

Ein wesentlicher Teil des Projekts ist die Synchronisierung einzelner Datensätze. Das System kopiert nicht bei jedem Lauf vollständige Tabellen. Stattdessen ermittelt es über Synchronisierungseinträge und UUID-basierte Nachverfolgung, welche Datensätze in der entfernten Datenbank angelegt, aktualisiert oder entfernt werden müssen.

Generierte UUIDs identifizieren Datensätze systemübergreifend eindeutig. Das ist wichtig, wenn Daten zwischen Umgebungen synchronisiert werden, die intern unterschiedliche Voraussetzungen haben. Außerdem erzeugt die Software Synchronisierungseinträge, die veränderte Daten und die auszuführenden Aktionen markieren. Das macht den Prozess kontrollierbarer und hilft, unnötige doppelte Operationen zu vermeiden.

Für jeden zu synchronisierenden Datensatz prüft das System, ob er bereits in der entfernten SQL-Datenbank existiert. Falls nicht, erzeugt es eine INSERT-Anweisung. Andernfalls wird eine UPDATE-Anweisung erzeugt. Wurde der Quelldatensatz gelöscht, kann auch sein Gegenstück im Ziel entfernt werden. So bleibt die entfernte Datenbank mit dem Zustand des Quellmandanten abgestimmt.

Technische Funktionen

Die Synchronisierungsplattform bietet mehrere Funktionen für den zuverlässigen Praxiseinsatz:

  • Automatische Ermittlung von Tabellen, Feldern und Primärschlüsseln im Quellmandanten.
  • Speicherung von Synchronisierungseinstellungen und Datenbankstruktur zur wiederholten Nutzung.
  • Unterstützung von MySQL und Microsoft SQL Server als entfernte Backends.
  • Synchronisierung von Einfüge-, Aktualisierungs- und Löschvorgängen auf Datensatzebene.
  • Erzeugung von UUIDs und Synchronisierungseinträgen für eine bessere Änderungsverfolgung.
  • Konfigurierbare Synchronisierungsintervalle und Blockgrößen für größere Datenbestände.
  • Unterstützung getrennter entfernter Datenbanken je Mandant oder einer gemeinsamen Datenbank.
  • MySQL-Verbindungen über SSH für sicheren Fernzugriff auf den Server, wenn erforderlich.
  • Fortschrittsanzeigen und Betriebsrückmeldungen für die Ausführung als Desktopanwendung oder Dienst.
  • Wartungsfunktionen für Microsoft SQL Server, einschließlich Indexdefragmentierung.

Warum das für die Website wichtig war

Die Website benötigte Verwaltungsdaten. Ein direkter Zugriff auf das Quellsystem hätte jedoch Probleme bei Leistung, Sicherheit und Wartbarkeit verursacht. Durch die Synchronisierung der benötigten Daten nach MySQL oder Microsoft SQL Server konnte die Website eine Datenbankumgebung nutzen, die wesentlich besser für den Onlinebetrieb geeignet ist.

Dieser Ansatz trennt die Zuständigkeiten klarer. AccountView bleibt die interne maßgebliche Datenquelle. Die Website liest dagegen aus einem eigenen SQL-Backend, das für Fernzugriff, Indizierung und die Anbindung an Webentwicklungswerkzeuge optimiert ist. Das verringert Risiken und schafft mehr Flexibilität bei der Entwicklung von Onlinefunktionen.

Auch neue Websitemodule lassen sich dadurch effizienter entwickeln. Statt sich an einer alten Quellstruktur orientieren oder auf manuelle Exporte verlassen zu müssen, arbeiten Entwickler mit synchronisierten SQL-Daten, die bereits für Anwendungen strukturiert sind. Das erleichtert Dashboards, Portale, Berichte, Suchfunktionen, Produktansichten und kundenspezifische Oberflächen.

Nutzen im Betrieb

Über die technische Umsetzung hinaus macht das Projekt lokale Geschäftsdaten zu einer wiederverwendbaren digitalen Ressource. Manuelle Exporte werden reduziert, doppelte Dateneingabe kann vermieden werden, und die Website erhält kontrollierten Zugriff auf echte Geschäftsinformationen.

Weil die Plattform mehrere SQL-Ziele und konfigurierbare Bereitstellungsmodelle unterstützt, lässt sie sich für unterschiedliche Installationen und Kundenumgebungen wiederverwenden. Damit ist sie mehr als eine einmalige Integration: ein wiederholt einsetzbares Synchronisierungsprodukt für künftige Erweiterungen, APIs, Berichtswerkzeuge und individuelle digitale Arbeitsabläufe.

Zusammenfassung

Dieses Synchronisierungssystem zeigt, wie sich eine klassische Verwaltungsumgebung über eine eigene Integrationsschicht mit moderner Webinfrastruktur verbinden lässt. Es vereint Strukturerkennung, Änderungsverfolgung, UUID-basierte Identifikation, automatisches Anlegen von Tabellen, entfernte SQL-Synchronisierung und Wartungswerkzeuge in einer praxisgerechten Lösung.

Das Ergebnis ist eine stabile Verbindung zwischen AccountView und einem webfähigen Backend in MySQL oder Microsoft SQL Server. Aktuelle Verwaltungsdaten können dadurch sicherer, klarer strukturiert und besser skalierbar in Onlineplattformen eingesetzt werden.

Starten Sie ein Projekt mit uns

Sie haben ein Projekt im Sinn? Sprechen wir darüber, wie wir Sie unterstützen können.