Syncs
Ein Sync realisiert eine Aufgabe, z. B. das Synchronisieren von Daten oder das Auslösen einer Benachrichtigung.
Syncs sind die zentralen Bausteine von Syncler und bieten je nach Einsatzgebiet unterschiedliche Parameter und Konfigurationsmöglichkeiten.
Grundprinzip
Für eine Synchronisation speichert ein Sync alle Einstellungen, Transformationen und Feldzuordnungen für eine definierte Richtung zwischen zwei beteiligten Systemen und Objekten.
Das Konzept ist bewusst flexibel gestaltet und sieht nicht zwingend einen Sync pro Übertragungsrichtung vor, sondern unterstützt eine beliebige Anzahl von Syncs.
Jeder Sync wird separat:
- konfiguriert,
- ausgeführt und
- in die Gesamtorchestrierung eingebunden.
Über die Datensatz-Abbildungen können Syncs indirekt interagieren, z. B. zur Konfliktbehandlung.
So lassen sich Syncs einsetzen, um:
- den Datenbestand zu separieren,
- eine bestehende Synchronisation zu ergänzen, oder
- ein feingranulares Konfliktverhalten abzubilden.
Im Fall der Ergänzung können mehrere Syncs auf denselben verknüpften Datensätzen arbeiten.
Syncler übernimmt dabei die Orchestrierung, sodass Konflikte und Redundanzen vermieden werden.
Beispiel: Umsatz-Aktualisierung
Ein klassisches Beispiel ist die Umsatz-Aktualisierung.
In vielen Systemen gilt eine Umsatzänderung nicht als Änderung der Stammdaten und löst daher keine änderungsgetriebene Übertragung aus.
Damit aktuelle Umsatzzahlen dennoch synchronisiert werden können:
- wird ein Sync eingerichtet, der ausschließlich die Umsatzzahlen überträgt,
- dieser Sync ergänzt die reguläre Änderungssynchronisation,
- beim Schreiben der Umsatzzahlen im Zielsystem werden die Synchronisationsinformationen der Datensatz-Abbildungen automatisch aktualisiert.
So wird sichergestellt, dass:
- parallele oder komplementäre Syncs keine unnötige (Rück-)Übertragung ausführen,
- Konflikte korrekt erkannt und behandelt werden.
Gründe für mehrere Syncs
In verschiedenen Szenarien ist eine Aufteilung auf mehrere Syncs sinnvoll.
1. Bidirektionale Synchronisation ist asymmetrisch definiert
Wenn die Feldzuordnungen in beide Richtungen unterschiedlich sind, kann ein Konflikt zu inkonsistenten Daten führen.
Konflikte entstehen durch gleichzeitige Änderungen in verschiedenen Systemen und führen meist zur Auswahl einer bestimmten Änderung und zum Verwerfen der anderen.
Um zu verhindern, dass Felder durch Konflikte verloren gehen:
- können diese Felder in einen separaten Sync mit eigener Konfliktbehandlung ausgelagert werden.
- alternativ kann ein einzelner Sync mit dem Konfliktverhalten „Nur Quelländerungen übertragen“ arbeiten.
- Nachteil: Es müssen mehr Daten in der Syncler-Datenbank gespeichert werden, damit eine Änderungserkennung auf Feldebene möglich ist.
2. Unterschiedliche Filter erforderlich
Manchmal ist eine Synchronisation nur für eine bestimmte Teilmenge von Datensätzen sinnvoll.
Beispiel:
- Soll der Sage CRM Account-Manager mit dem Vertreter in Sage 100 synchronisiert werden, ist ein Kontokorrent erforderlich, da der Vertreter dort gespeichert wird.
- Wenn jedoch keine automatische Kontenanlage durch die Integration gewünscht ist, wird ein separater Sync benötigt.
- Dieser Sync prüft über einen Filter (z. B. Vorhandensein einer Kontonummer) die Voraussetzungen und überträgt nur geeignete Datensätze.
3. Unterschiedliche Parameter erforderlich
Jeder Sync definiert eine Vielzahl von Parametern, die datenobjekt-spezifisch sein können.
Da diese Parameter während der Laufzeit der Synchronisation nicht verändert werden können, ist es notwendig, separate Syncs anzulegen, wenn unterschiedliche Einstellungen benötigt werden.
Vorteile einer modularen Sync-Struktur
- Flexibilität: Syncs können gezielt für unterschiedliche Aufgaben eingesetzt werden.
- Feingranularität: Unterschiedliche Filter, Parameter oder Konfliktstrategien lassen sich klar trennen.
- Transparenz: Jede Synchronisation ist nachvollziehbar und getrennt dokumentiert.
- Orchestrierung durch Syncler: Automatische Koordination verhindert Konflikte und doppelte Übertragungen.