Synchronizer
Der Synchronizer ist die anwendungsabhängige Replikations- und Synchronisations-Engine, die mit dem SyncBO zur Design-Zeit generiert wird. Obwohl er für jedes einzelne SyncBO generiert wird, bestehen die meisten Teile des Synchronizers aus generischen Algorithmen, die in allen SyncBOs verwendet werden.
Der Synchronizer:
● repliziert Daten für jedes SyncBO aus dem Backend-System in die Replikationsdatenbank
● sucht Daten zum Download entweder in der Replikationsdatenbank oder direkt im Backend-System (Download von Deltadaten und initialen Daten)
● analysiert betriebswirtschaftliche Daten und lädt sie von einem Gerät in das Backend-System hoch
Der Synchronizer wird während des Synchronisationsprozesses oder mit einem Hintergrundjob der Laufzeitkomponenten aufgerufen, also nicht direkt durch den Benutzer.
Die Synchronizer-Funktionsbausteine werden durch den Code-Generator generiert. Der SyncBO-Builder ruft den Code-Generator auf, indem er erforderliche Informationen bereitstellt.
Eine der wichtigsten Algorithmen, die im Synchronizer für alle Anwendungen im Rahmen von Smart-Synchronization bereitgestellt werden, ist die Konfliktbehandlung für den Daten-Upload von den Geräten. Der Algorithmus stellt sicher, dass Konflikte bei der Datenverbuchung zwischen mehreren Geräten und dem Backend-System konsistent behandelt werden; d. h. die Server-seitige Verbuchung ist gegenüber der Client-seitigen Verbuchung derselben Daten stets dominant.
Der Synchronizer kann nur korrekt ausgeführt werden, wenn die aufgerufenen Backend-Funktionen stabil sind.