Canonical Data Model
Een canonical data model is één gedeeld, systeemneutraal formaat voor bedrijfsdata waar elk gekoppeld systeem naar en vanuit vertaalt, in plaats van rechtstreeks naar elkaar te mappen.
Wat is Canonical Data Model?
Een canonical data model (CDM) is één standaard, systeemneutrale definitie van bedrijfsdata, zoals een product, order of klant, waar alle gekoppelde systemen naar en vanuit vertalen. In plaats van elk systeem rechtstreeks aan elk ander systeem te koppelen, mapt elk systeem één keer naar het canonieke model. Met vijf systemen die direct aan elkaar gekoppeld zijn heb je tot 20 mappings in één richting nodig; met een canonical model is het één mapping heen en één terug per systeem. Het model legt entiteiten, velden, datatypes, eenheden en codelijsten vast, bijvoorbeeld dat gewicht altijd in grammen staat. Het is niet hetzelfde als een databaseschema, dat beschrijft hoe één applicatie data opslaat, of het Common Data Model van Microsoft, dat één specifiek gepubliceerd model is. Voor productdata speelt het attribuutmodel in een PIM vaak deze rol. In onze gids over attribuutmodellering lees je hoe je er een ontwerpt.
Waarom Canonical Data Model belangrijk is voor e-commerce
E-commerceteams koppelen een ERP, een PIM, webshops, marktplaatsen en feeds. Zonder gedeeld model betekent elk nieuw kanaal weer een eigen mapping en weer een plek waar data kan afwijken. Een canonical model maakt nieuwe koppelingen goedkoper en zorgt dat hetzelfde product er overal hetzelfde uitziet.
Voorbeelden van Canonical Data Model
- 1Entiteit: Product, Canoniek veld: weight_g, ERP-veld: GEWICHT_KG, Shopify-veld: weight met eenheid.
- 2Entiteit: Product, Canoniek veld: color (uit een vaste lijst), Leverancier A: Navy Blue, Leverancier B: NVY, Canonieke waarde: Navy.
- 3Entiteit: Order, Canoniek veld: order_total inclusief btw, gebruikt door ERP, magazijn en facturatie.
- 4Integratie: een middlewarelaag die elk binnenkomend bericht naar het canonieke formaat omzet voordat het naar andere systemen gaat.
Hoe WISEPIM helpt
- Eén attribuutmodel voor productcontent: leg kenmerken één keer vast in WISEPIM, met type, eenheid en toegestane waarden, en elk product volgt dezelfde structuur.
- Mappen bij import en export: map kolommen van leveranciers en je ERP naar WISEPIM-kenmerken bij import, en naar de velden van elk kanaal bij export.
- Minder losse integraties: gekoppelde webshops en feeds lezen uit hetzelfde productrecord, dus een nieuw kanaal vraagt één mapping, geen nieuwe kopie van de data.
Veelgemaakte fouten met Canonical Data Model
- Het schema van één systeem kopiëren en het canoniek noemen, waardoor het model de eigenaardigheden van dat systeem overneemt.
- Elk veld van elk systeem tegelijk willen modelleren in plaats van te beginnen met gedeelde entiteiten.
- Eenheden en codelijsten overslaan, waardoor hetzelfde veld nog steeds iets anders betekent.
- Het model aanpassen zonder de teams te informeren die ernaar mappen.
Tips voor Canonical Data Model
- Begin met de paar entiteiten die elk systeem deelt, zoals product, prijs en voorraad.
- Leg eenheden, formaten en codelijsten vast, niet alleen veldnamen.
- Wijs een eigenaar van het model aan die wijzigingen beoordeelt en documenteert.
- Houd kanaalspecifieke velden buiten het kernmodel en voeg ze toe via mappings.
Trends rondom Canonical Data Model
- Event-gedreven integraties publiceren canonieke events, zoals ProductUpdated, waarop elk systeem zich kan abonneren.
- Composable commerce-opzetten gebruiken een canonical model om een dienst te vervangen zonder elke integratie te herschrijven.
- AI helpt mappings voor te stellen tussen een bronbestand en het canonieke model.
Tools voor Canonical Data Model
- WISEPIM: PIM waarvan het attribuutmodel dienstdoet als gedeelde structuur voor productcontent, met mappings bij import en export.
- MuleSoft en Boomi: integratieplatforms die vaak een canonical model tussen systemen gebruiken.
- Microsoft Common Data Model: een gepubliceerde set standaardentiteiten, gebruikt in Dataverse en Dynamics 365.
- JSON Schema: een veelgebruikte manier om een canoniek formaat te documenteren en te valideren.