CHOREOGRAPHY-VS-ORCHESTRATION
Comparaison architecturale entre orchestration (un coordinateur central pilote) et chorégraphie (les services réagissent à des events sans coordinateur), choix structurant pour les flux EDI multi-systèmes.
Définition
Orchestration : un coordinateur (Saga orchestrator, BPM, workflow engine type Temporal/AWS Step Functions) appelle les services dans l'ordre, gère erreurs et compensations. Chorégraphie : chaque service écoute des events et publie le suivant, sans coordinateur central. Trade-off : couplage vs traçabilité.
Origine
Distinction popularisée par Sam Newman (Building Microservices, 2015). Antérieurement débattue dans le monde BPM/ESB (Workflow Patterns van der Aalst, 2003).
Usage
Réception d'un EDIFACT ORDERS qui doit : valider stock, débiter compte, émettre ORDRSP. Orchestration : Temporal workflow Stock → Debit → ORDRSP, retries et compensations centralisés. Chorégraphie : Kafka events 'order.received' → service stock réagit → publie 'stock.reserved' → service compte réagit etc. Plus libre mais plus dur à debugger.
Termes liés
- Saga pattern — implémentation des deux.
- Event sourcing — fondation chorégraphie.
- Kafka — transport chorégraphie.
- Integration broker — concept général.