Zum Inhalt springen

Zweiweg-Synchronisation braucht eindeutige Schreibregeln

Wenn CRM und ERP schreiben dürfen, braucht jedes gemeinsame Feld eine Konfliktregel. Der späteste Eingang ist nicht immer die jüngste fachliche Entscheidung.

Tobias Krüger2 Min. Lesezeit
Blaue Datenkarte mit Datenbanksymbol, Textfeld und Auswahlfeld.

Eine Verbindung darf Daten in beide Richtungen übertragen. Daraus folgt nicht, dass jedes Feld auf beiden Seiten beliebig überschrieben werden sollte. Für gemeinsame Felder braucht es eine Regel, die Bearbeitungsrecht, Ausgangsversion und Konfliktbehandlung verbindet. Sonst kann eine technisch neue Nachricht einen fachlich veralteten Wert zurückbringen.

Ein später Eingang kann auf älteren Daten beruhen

Ein fiktives Softwareunternehmen gleicht CRM und ERP ab. Das ERP bestätigt die Rechnungsanschrift, das CRM pflegt den Projektkontakt. Der folgende erfundene Ablauf zeigt, was eine pauschale Gesamtaktualisierung auslösen könnte:

Zeit

Vorgang

Datenstand

09:55

Das CRM liest den Kundendatensatz.

Werkstraße 8, Beispielstadt, ERP-Version v7.

10:00

Das ERP-Team bestätigt eine neue Rechnungsanschrift.

Werkstraße 12, Beispielstadt, ERP-Version v8.

10:05

Das CRM sendet einen geänderten Projektkontakt samt alter Anschrift zurück.

Im Paket stehen noch Werkstraße 8, Beispielstadt und Basisversion v7.

Die Nachricht kommt später an, aber ihre Anschrift stammt aus einem älteren Stand. Würde die Integration den ganzen Datensatz ungeprüft übernehmen, könnte die bestätigte Änderung verloren gehen. Die Bezeichnungen v7 und v8 gehören hier zum selben ERP-Datensatz; beliebige lokale Versionszähler verschiedener Systeme lassen sich nicht einfach vergleichen.

Die Ausgangsversion erkennen und den Konflikt entscheiden

Microsoft beschreibt für Dataverse optimistische Nebenläufigkeitskontrolle: Eine Anwendung kann feststellen, ob ein Datensatz zwischen Lesen und Schreiben auf dem Server geändert wurde. Welche Prüfung verfügbar ist und wie sie aktiviert wird, hängt vom Produkt und seiner Schnittstelle ab.

Eine erkannte Abweichung entscheidet noch nicht, welche Adresse fachlich richtig ist. Im Beispiel soll die alte Anschrift zur Klärung stehen bleiben oder als nicht zulässige Rückschreibung behandelt werden. Den abgewiesenen alten Wert lediglich mit einer neuen Versionskennung erneut zu senden, würde die Versionsprüfung umgehen, ohne die fachliche Abweichung zu lösen. Eine einzelne Versionsprüfung macht außerdem nicht alle Schritte einer Verbindung über mehrere Systeme atomar.

Wann beide Seiten schreiben dürfen

Wenn beide Teams dieselben Informationen tatsächlich bearbeiten müssen, kann eine zweiseitige Lösung passend sein. Dann müssen zulässige Felder, Änderungen und Konfliktentscheidungen ausdrücklich festgelegt werden. Microsofts Dual-write-Dokumentation zeigt beispielsweise unterschiedliche Richtungen pro Spaltenzuordnung; ein gemeinsamer Schalter für alles ist kein fachlicher Zwang.

Es kann auch genügen, verschiedene Felder in verschiedenen Richtungen zu übertragen. Im Beispiel soll der neue Projektkontakt nach seiner Regel übernommen werden, während die alte Rechnungsanschrift nicht ungeprüft zurückgeschrieben wird. Beide Werte gehören zum selben Kunden, verlangen aber unterschiedliche Schreibentscheidungen.

Quellen

Geschrieben von

  • Tobias KrügerRedakteur für SystemintegrationTobias Krüger beschäftigt sich bei ASES mit dem Zusammenspiel verschiedener Softwaresysteme. In seinen Beiträgen erklärt er die Anbindung von ERP, CRM und Onlineshops sowie den Umgang mit Fehlern beim Datenaustausch.

ASES folgen

Weiterlesen

Alle Beiträge

Schnittstellen & Integration mit ASES

ERP, CRM und Shop sauber verbunden