Naar de inhoud

Tweerichtingssynchronisatie vraagt om duidelijke schrijfregels

Als CRM en ERP mogen schrijven, heeft elk gedeeld veld een conflictregel nodig. Het laatst ontvangen bericht is niet automatisch de laatste zakelijke beslissing.

Tobias Krüger2 min leestijd
Blauwe gegevenskaart met databasesymbool, tekstveld en keuzeveld.

Een koppeling mag gegevens in beide richtingen overdragen. Dat betekent niet dat elk veld aan beide kanten vrij moet kunnen worden overschreven. Gedeelde velden hebben een regel nodig die bewerkingsrecht, basisversie en conflictafhandeling verbindt. Anders kan een technisch nieuw bericht een zakelijk verouderde waarde terugbrengen.

Een late ontvangst kan op oudere gegevens berusten

Een fictief softwarebedrijf synchroniseert CRM en ERP. ERP bevestigt het factuuradres, CRM beheert het projectcontact. Dit verzonnen verloop laat zien wat een algemene update van het hele record kan veroorzaken:

Tijd

Handeling

Gegevensversie

09:55

CRM leest het klantrecord.

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

10:00

Het ERP-team bevestigt een nieuw factuuradres.

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

10:05

CRM stuurt een gewijzigd projectcontact met het oude adres terug.

Het bericht bevat nog Werkstraße 8, Beispielstadt en basisversie v7.

Het bericht komt later aan, maar het adres komt uit een oudere versie. Neemt de integratie het hele record ongecontroleerd over, dan kan de bevestigde wijziging verloren gaan. Hier verwijzen v7 en v8 naar hetzelfde ERP-record; onafhankelijke lokale versietellers van verschillende systemen zijn niet zomaar vergelijkbaar.

De basisversie herkennen en het conflict beslissen

Microsoft beschrijft optimistische gelijktijdigheidscontrole voor Dataverse: een toepassing kan vaststellen of het serverrecord tussen lezen en schrijven is veranderd. Welke controle beschikbaar is en hoe die wordt ingeschakeld, hangt af van het product en de interface.

Een verschil vaststellen beslist nog niet welk adres zakelijk juist is. In dit voorbeeld moet het oude adres op opheldering wachten of als niet-toegestane terugschrijving worden behandeld. De afgewezen oude waarde eenvoudig met een nieuwe versiecode opnieuw versturen zou de versiecontrole ondermijnen zonder het zakelijke verschil op te lossen. Eén versiecontrole maakt bovendien niet alle stappen tussen meerdere systemen atomair.

Wanneer beide kanten mogen schrijven

Als beide teams dezelfde informatie werkelijk moeten bewerken, kan een tweerichtingsoplossing passen. Toegestane velden, wijzigingen en conflictbeslissingen moeten dan expliciet zijn. Microsofts dual-write-documentatie toont bijvoorbeeld verschillende richtingen per kolomkoppeling; één algemene instelling is geen zakelijke noodzaak.

Verschillende velden in verschillende richtingen overdragen kan ook genoeg zijn. In dit voorbeeld moet het nieuwe projectcontact volgens de eigen regel worden verwerkt, terwijl het oude factuuradres niet ongecontroleerd wordt teruggeschreven. Beide waarden horen bij dezelfde klant maar vragen verschillende schrijfbeslissingen.

Bronnen

Geschreven door

  • Tobias KrügerRedacteur systeemintegratieTobias Krüger houdt zich bij ASES bezig met de samenwerking tussen verschillende softwaresystemen. In zijn artikelen legt hij uit hoe ERP, CRM en webshops worden gekoppeld en hoe je omgaat met fouten bij gegevensuitwisseling.

ASES volgen

Verder lezen

Alle artikelen

Koppelingen & integratie met ASES

ERP, CRM en webshop netjes gekoppeld