# Architecture principles whose scope is integration

> 21 records

This index as JSON: https://banes-lab.com/json/api/facets/architecture/scope/integration

## Entries

- [Context Mapping](https://banes-lab.com/records/architecture/context-mapping.md): The activity of recording how bounded contexts relate, including which one is upstream and how their models translate.
- [Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.md): A design pattern that translates an external system's model into the local domain's terms at the boundary.
- [Contract-First Design](https://banes-lab.com/records/architecture/contract-first-design.md): A design rule that a boundary's contract is written and agreed before the implementation behind it.
- [Service Contract](https://banes-lab.com/records/architecture/service-contract.md): A rule or precondition that a service declares its operations, their results and their side effects to every consumer.
- [Data Contract](https://banes-lab.com/records/architecture/data-contract.md): A rule or precondition that data exchanged between parties has declared fields, types, nullability and meaning.
- [Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md): A rule or precondition that both ends of a connection speak a declared protocol version they both support.
- [Consumer-Driven Contracts](https://banes-lab.com/records/architecture/consumer-driven-contracts.md): A rule or precondition that a provider verifies each change against the expectations its consumers have recorded.
- [Protocol Independence](https://banes-lab.com/records/architecture/protocol-independence.md): A design rule that domain logic is written against ports, and each transport protocol reaches it through its own adapter.
- [Event-Driven Architecture](https://banes-lab.com/records/architecture/event-driven-architecture.md): A convention of connecting services through published events, with each consumer reacting independently of the producer.
- [Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.md): A design pattern in which publishers send messages to a topic and every subscriber to that topic receives them.
- [Message Queue](https://banes-lab.com/records/architecture/message-queue.md): A mechanism that holds messages durably until a consumer takes and acknowledges each one.
- [Message Broker](https://banes-lab.com/records/architecture/message-broker.md): Descriptive data about topics, queues and routing rules, held by an intermediary service that delivers messages between producers and consumers.
- [Event Bus](https://banes-lab.com/records/architecture/event-bus.md): A mechanism that dispatches each emitted event to the handlers registered for its type.
- [Event Stream](https://banes-lab.com/records/architecture/event-stream.md): A mechanism that keeps events in an ordered, replayable log that consumers read from their own offset.
- [Self-Describing Architecture](https://banes-lab.com/records/architecture/self-describing-architecture.md): A design rule that each module declares its name, version, capabilities and requirements in metadata that tools and the runtime can read.
- [Self-Describing API](https://banes-lab.com/records/architecture/self-describing-api.md): A design rule that an API publishes machine-readable descriptions of its operations, payloads and errors.
- [Adapter Pattern](https://banes-lab.com/records/architecture/adapter-pattern.md): A design pattern that wraps a component with an incompatible interface so it implements the interface its callers expect.
- [Streaming Architecture](https://banes-lab.com/records/architecture/streaming-architecture.md): A convention of processing data record by record as it arrives, with backpressure, instead of collecting it first.
- [Canonical Model](https://banes-lab.com/records/architecture/canonical-model.md): A design rule that a concept has one authoritative representation, and every other representation is translated to and from it.
- [Canonical Data Model](https://banes-lab.com/records/architecture/canonical-data-model.md): A design pattern in which integrated systems exchange data through one shared model, with a mapping per system.
- [Service-Oriented Architecture](https://banes-lab.com/records/architecture/service-oriented-architecture.md): A convention of exposing each business capability as a service governed by a published contract.
