context-mapping¶
Relationship between two Bounded Contexts, or between a Bounded Context and an External System. See Concepts: Context Mapping.
A Context Mapping carries no scope – its endpoints may straddle Domains. The natural identifier of a mapping is its type plus its endpoints; name is a human-readable handle.
Fields¶
| Field | Required | Description |
|---|---|---|
apiVersion |
yes | schema.esdm.io/core/v1 |
kind |
yes | context-mapping |
name |
yes | The mapping name (a handle, not a referenced identifier). |
type |
yes | One of customer-supplier, conformist, anti-corruption-layer, open-host-service, published-language, shared-kernel, partnership, separate-ways. |
description |
no | Free-form prose. |
metadata |
no | Non-semantic labels and annotations. |
The role-named fields depend on type. Each role accepts a Bounded Context reference or an External System reference.
Asymmetric mappings¶
type |
Required role fields |
|---|---|
customer-supplier |
customer, supplier |
conformist |
conformist, upstream |
anti-corruption-layer |
downstream, upstream |
open-host-service |
host, consumer |
published-language |
publisher, consumer |
Symmetric mappings¶
type |
Required role fields |
|---|---|
shared-kernel |
participants (exactly two Bounded Contexts) |
partnership |
participants (exactly two Bounded Contexts) |
separate-ways |
participants (exactly two Bounded Contexts) |
Symmetric mappings accept Bounded Contexts only; sharing a kernel or forming a partnership with a third-party External System does not fit the model.