Naar hoofdinhoud
Terug naar E-commerce Woordenboek

Canonical Data Model

DatabeheerIntermediate niveau

Een canonical data model (CDM) is een gedeeld, applicatieonafhankelijk formaat voor bedrijfsdata, zoals producten, klanten en orders. Elk systeem vertaalt zijn data naar en van dit ene model in plaats van naar elk ander systeem.

Image by · CC BY 4.0

Wat is Canonical Data Model?

Een canonical data model (CDM) is een gemeenschappelijk dataformaat tussen systemen. Het legt de gedeelde bedrijfsobjecten vast, zoals Product, Klant en Order, met hun velden, datatypes, eenheden, toegestane waarden en relaties, los van welke applicatie dan ook. Elk systeem mapt zijn eigen data één keer naar het canonieke model en koppelingen wisselen data uit in dat formaat. Het voordeel zit in het aantal vertalingen. Als zes systemen rechtstreeks met elkaar praten, heb je tot 30 mappings in één richting nodig, want N systemen vragen N(N-1) mappings. Met een canoniek model heeft elk systeem één mapping naar het model en één terug, dus 2N, oftewel 12 voor die zes systemen. Een zevende systeem toevoegen kost dan twee nieuwe mappings in plaats van twaalf. Het patroon komt uit de wereld van applicatie-integratie en wordt vaak uitgevoerd in middleware of een integratieplatform. Een canoniek model in deze betekenis is hetzelfde: de afgesproken referentieversie van de data die elke koppeling spreekt. Het is een afspraak over data-uitwisseling, geen database, en het vervangt het eigen datamodel van elk systeem niet.

Waarom Canonical Data Model belangrijk is voor e-commerce

In e-commerce betaalt een canoniek model zich het eerst terug bij productdata. Het ERP noemt een veld item_desc_2, de webshop noemt het description, een marketplace wil bullet_point1 tot en met bullet_point5 en het leveranciersbestand gebruikt eigen kolomnamen en eenheden. Zonder gedeeld model betekent elk nieuw kanaal of elke nieuwe leverancier weer een eigen mapping, en een kleine wijziging in één systeem breekt meerdere koppelingen. Een eenvoudig product-CDM legt per attribuut één naam vast, één eenheid per maat (bijvoorbeeld gewicht in grammen en afmetingen in millimeters), vaste waardelijsten voor zaken als kleur en materiaal, en duidelijke regels voor codes zoals SKU en GTIN. Leveranciersdata wordt bij import naar dat model gemapt en elk kanaal krijgt een eigen mapping eruit via attribuut-mapping. In veel stacks wordt een PIM in de praktijk de canonieke bron voor productcontent: WISEPIM houdt bijvoorbeeld één set attributen met hun regels bij en mapt die bij export naar de velden van elk kanaal. Het patroon heeft ook echte kosten. Afspraken maken over één model kost tijd, het model heeft versiebeheer en een eigenaar nodig, en een model dat elke uitzondering wil afdekken wordt te complex om te gebruiken. Houd het gericht op de objecten en velden die echt tussen systemen bewegen.

Voorbeelden van Canonical Data Model

  • 1Productdata tussen ERP, PIM en webshop: een retailer definieert een canoniek Product met sku, gtin, merk, titel, gewicht_g en afmetingen in millimeters. ERP, PIM en webshop mappen er elk één keer naartoe, dus een marketplace toevoegen vraagt maar één nieuwe mapping.
  • 2Leveranciers onboarden: een distributeur krijgt bestanden van 200 leveranciers in verschillende opmaak en mapt elk bestand naar zijn canonieke productmodel, zodat de rest van de stack maar één formaat ziet.
  • 3Klantdata in CRM, marketing en ERP: een B2B-bedrijf gebruikt één canoniek Klant-object, zodat CRM, marketingplatform en ERP het eens zijn over klantnummer, juridische naam en adressen.
  • 4Orderstroom in een integratieplatform: orders uit de webshop, van Bol.com en van Amazon komen in verschillende formaten binnen en worden vertaald naar één canonieke Order voordat ze het magazijnsysteem bereiken.
  • 5Eenheden en waardelijsten: een meubelmerk slaat alle afmetingen op in centimeters en alle kleuren uit één waardelijst, en zet pas bij export om naar inches of kanaalspecifieke kleurnamen.

Hoe WISEPIM helpt

  • Eén attribuutmodel voor productcontent: leg attributen één keer vast, met type, eenheid en validatieregels op het veld, en elk product wordt op dezelfde manier gecontroleerd.
  • Mappen naar binnen en naar buiten: map kolommen van leveranciers en ERP bij import naar WISEPIM, en map WISEPIM-attributen bij export met een opgeslagen sjabloon naar de velden van elk kanaal.
  • Minder losse koppelingen: gekoppelde webshops en kanaalfeeds lezen allemaal uit hetzelfde productrecord, dus een nieuw kanaal vraagt één mapping, geen nieuwe kopie van de data.

Veelgemaakte fouten met Canonical Data Model

  • Je probeert elk veld van elk systeem te modelleren, waardoor het model te groot wordt om af te spreken of te onderhouden.
  • Je gebruikt de interne veldnamen van één systeem als canonieke namen, zodat het model toch aan dat systeem vastzit.
  • Je wijzigt het model zonder versiebeheer en breekt daarmee koppelingen die de oude structuur verwachten.
  • Je laat eenheden en waardelijsten open, zodat 10 cm, 100 mm en 0,1 m in hetzelfde veld staan.
  • Je behandelt het model als puur IT-project, zonder de product- en salesteams die weten wat de data betekent.

Tips voor Canonical Data Model

  • Begin klein. Modelleer de paar objecten en velden die het vaakst tussen systemen bewegen, meestal producten, klanten en orders.
  • Leg eenheden en waardelijsten vast in het model, zoals gewicht in grammen en één kleurenlijst, en zet alleen aan de randen om.
  • Geef het model een eigenaar en een versienummer en documenteer de mapping van elk systeem.
  • Kopieer niet de structuur van één systeem in het model. Gebruik bedrijfsnamen die je begrijpt zonder het ERP of de webshop te kennen.
  • Herzie het model als je een systeem of kanaal toevoegt, in plaats van losse uitzonderingen in afzonderlijke koppelingen te bouwen.

Trends rondom Canonical Data Model

  • AI-gestuurde mapping: Het gebruik van machine learning om brongegevens automatisch naar het canonieke formaat te vertalen.
  • Headless commerce: Het CDM dat de uniforme datalaag biedt voor diverse frontend ervaringen.
  • Duurzaamheidsdata: Het integreren van Digital Product Passport (DPP) vereisten direct in de CDM-structuur.

Tools voor Canonical Data Model

  • WISEPIM
  • MuleSoft
  • Apache Camel
  • Microsoft Dataverse
  • Salsify

Gerelateerde termen

Ook bekend als

Gemeenschappelijk datamodelMaster data schemaUniverseel dataformaatCDM

Veelgestelde vragen

Een canonical data model is een gedeeld, applicatieonafhankelijk formaat voor bedrijfsdata zoals producten, klanten en orders. Elk systeem mapt zijn eigen data naar en van dit model, zodat koppelingen data uitwisselen in één afgesproken formaat in plaats van te vertalen tussen elk paar systemen.

In data-integratie betekent een canoniek model hetzelfde als een canonical data model: de afgesproken referentieversie van een bedrijfsobject die alle systemen gebruiken als ze data uitwisselen. Canoniek betekent hier standaard of gezaghebbend.

Een retailer definieert één Product-object met velden zoals sku, gtin, merk, titel, gewicht in grammen en afmetingen in millimeters. ERP, PIM, webshop en marketplacekoppelingen vertalen elk naar en van dat object, in plaats van dat elk systeem rechtstreeks naar elk ander systeem vertaalt.

Het vermindert het aantal koppelingen. N systemen die rechtstreeks verbonden zijn, vragen tot N(N-1) mappings, een canoniek model vraagt 2N. Het geeft ook één plek om dataregels vast te leggen, wat data consistenter maakt en nieuwe systemen sneller koppelt.

Het ontwerpen en afstemmen van het model kost tijd, het heeft een eigenaar en versiebeheer nodig, elk bericht wordt twee keer vertaald, en een model dat elke uitzondering van elk systeem wil afdekken wordt groot en lastig te wijzigen. Sommige teams kiezen daarom voor kleinere modellen per domein.

Nee. Een databaseschema beschrijft hoe één applicatie zijn data opslaat. Een canonical data model beschrijft hoe data tussen applicaties wordt uitgewisseld. Elk systeem houdt zijn eigen schema en mapt dat aan de rand naar het canonieke model.

Een canonical data model is een algemeen integratiepatroon dat elke organisatie zelf ontwerpt. Het Common Data Model is een specifieke set standaardobjecten van Microsoft, gebruikt in Dataverse en Dynamics 365. Beide worden vaak afgekort als CDM, wat verwarring geeft.

Master data management bepaalt welk record de betrouwbare versie van een product of klant is en houdt dat schoon. Een canonical data model legt vast in welk formaat die data wordt uitgewisseld. Ze werken vaak samen: het MDM of PIM bewaart het golden record en publiceert het in het canonieke formaat.

Begin met de objecten die het vaakst tussen systemen bewegen, meestal producten, klanten en orders. Zet op een rij welke velden elk systeem nodig heeft, spreek namen, types, eenheden en waardelijsten af, documenteer de mapping per systeem, wijs een eigenaar aan en geef het model versienummers zodat wijzigingen bestaande koppelingen niet breken.

Een PIM is niet het model zelf, maar werkt vaak als de canonieke bron voor productcontent. Het bewaart één afgesproken set attributen, eenheden en waardelijsten, mapt leveranciersdata daarnaartoe en mapt die weer naar het formaat van elk kanaal.

Nog vragen?

Kan je het antwoord niet vinden? Neem contact op met ons team.

Contact opnemen

Verder ontdekken

Zorgvuldig gekozen vervolgstappen om dieper te gaan.