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.

— 01

Fondamentaux

— 02

Standards

— 03

Messages phares

— 04

Outils

Process Engine

Le moteur qui fait tourner les workflows EDI longue durée (jours, semaines) sans tomber sur un crash applicatif.

Problème

Un cycle PO → ORDRSP → DESADV → INVOIC → REMADV peut s'étaler sur 30 jours, avec des timers (relance 48h), des compensations (annulation à mi-parcours), et 5 décisions humaines possibles. Un code applicatif simple ne tient pas.

Forces

  • L'état doit survivre aux crashes — persistence obligatoire à chaque step.
  • Les timers doivent déclencher même si l'application est down (à reprendre au démarrage).
  • Les compensations doivent être documentées par modèle, pas inventées en code ad-hoc.
  • Le métier doit pouvoir visualiser le workflow (BPMN diagram).

Solution

Adopter un Process Engine : Camunda, Zeebe, Activiti, AWS Step Functions, Netflix Conductor, Temporal. Le workflow est défini en BPMN (ou DSL), déployé comme artefact, exécuté par le moteur. Le moteur garantit at-least-once durabilité, retries déclaratifs, timers, et observabilité du run. Le code applicatif n'implémente que les `task workers` (les actions atomiques) ; le moteur orchestre.

Implémentation EDI

En EDI, un Process Engine est le moyen pragmatique d'implémenter le Process Manager pour des cycles complexes. Cas : un cycle 'expectation 856 dans 24h après 850 sinon escalade' devient un BPMN diagram déployé sur Camunda. Le task worker `send850` publie l'EDIFACT sur Kafka ; le timer Camunda déclenche l'escalade ; un human task ouvre un ticket Jira. Le pattern paye sur la lisibilité métier : le BPMN diagram est compris par les analystes EDI, alors qu'un Java code ne l'est pas.

Anti-patterns

  • Workflow en code Java/Python pur — non versionnable comme modèle, ré-implémenté à chaque évolution.
  • Process Engine pour des workflows courts (< 1 minute) — overengineering, latence inutile.
  • Process Engine partagé entre métiers sans namespacing — un workflow bloque les autres.
  • BPMN diagram décoré sans correspondance précise au code — la documentation diverge du runtime.

Patterns liés

Sources