view as markdownreport a mistake

Comparison of communication styles

type: source-page
updated: 2026-07-02
status: imported
namespace: software-architecture-metapatterns
Imported source page from Denys Poltorak's Architectural Metapatterns wiki. Source path: Foundations of software architecture/Arranging communication/Comparison of communication styles.md.

We have briefly discussed three approaches to communication: orchestration, choreography, and shared data. Let’s recall when it makes the most sense to use each of them.

There is advice from Microsoft and \[DEDS\] which makes perfect sense: use choreography for communication between bounded contexts (subdomains) \[DDD\] but revert to orchestration (or maybe shared data) inside each context. Indeed, subdomains are likely to be loosely coupled while most user requests don’t traverse subdomain boundaries – which kindles hope that their interactions are few and not time-critical. If we follow the advice, we get Cell-Based Architecture (WSO2 definition), which collects the best of two worlds: orchestration and/or shared data for strongly coupled parts and choreography between them.

A diagram of the Cell-Based Architecture.

By the way, you could have noticed a few odd cases:

That likely means that our distinction between the modes of communication is a bit artificial and there exists a yet unknown deeper model to look for.

External links