ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

Change Data Capture (CDC)

Le pattern qui transforme une DB en source d'évènements sans modifier l'application — clé d'intégration EDI sans intrusion.

Problème

Un ERP legacy ne peut pas être modifié pour publier des évènements lors de chaque changement (commande créée, statut mis à jour). Comment alimenter le hub EDI en temps réel sans toucher au code applicatif ?

Forces

  • Modifier l'ERP coûte cher et est risqué (rules métier denses, peu de tests).
  • Un polling périodique de la DB ne capte pas les changements rapides et stresse la DB.
  • Le transaction log de la DB contient déjà tous les changements — ne pas le réutiliser est gaspillage.
  • Le CDC doit gérer initial snapshot + incremental sans manquer un changement entre les deux.

Solution

Brancher un connector CDC sur le transaction log de la DB. Le connector lit le log, transforme chaque entrée en évènement structuré, et publie sur un broker. Pour PostgreSQL : `wal2json`, Debezium PostgreSQL connector. Pour MySQL : Debezium MySQL via binlog. Pour SQL Server : Change Tracking + Debezium. Le pattern est non-intrusif (zéro changement application) et garantit at-least-once delivery sur le broker.

Implémentation EDI

En EDI, le CDC est la voie de référence pour intégrer un ERP non-Kafka-native dans un hub moderne. Cas type : SAP ERP sur Oracle 19c → Debezium Oracle connector → Kafka topic `sap.orders.cdc` → transformation Camel → publication ORDERS EDIFACT au partenaire. Le pattern marche aussi en sens inverse pour matérialiser des read models. Combine bien avec Outbox (l'Outbox sur la table outbox + CDC sur la WAL = écriture atomique applicative, publication broker dérivée).

Anti-patterns

  • CDC sur des tables sans clé primaire — Debezium ne peut pas garantir l'ordering / unicité.
  • CDC avec un snapshot manquant — les rows pré-existantes sont absentes du broker.
  • CDC sur une table volumineuse sans throttling — le broker sature.
  • CDC qui expose des champs PII sans filtrage — fuite RGPD.

Patterns liés

Sources