- Enterprise integration architecture
- Domain-Driven Design
- API-first and event-first delivery practices
When teams integrate modules through implementation details, the architecture becomes fragile.
Common symptoms include:
- direct entity sharing
- leaking persistence models
- unstable internal APIs
- undocumented event payloads
- breaking changes without visibility
This pattern applies to modular monoliths, distributed modules, and microservice-ready architectures where domain boundaries must remain explicit.
Define integration contracts before implementation coupling appears.
Contracts may include:
- API contracts
- event contracts
- query contracts
- command contracts
- schema definitions
- versioned integration messages
- A module must not consume another module's internal tables or entities.
- Integration must happen through documented contracts.
- Contract changes must be reviewed as architecture-impacting changes.
- Contracts must be versioned when consumers can be affected.
- reduces coupling
- improves provider/team alignment
- supports automated contract testing
- enables safer AI-assisted implementation
- improves compatibility with future distributed deployment
- requires more upfront design
- requires governance discipline
- may slow quick local integrations
- requires contract testing for critical flows
Recommended.
Enterprise.
High. AI agents can generate safer code when integration contracts are explicit and discoverable.
- ADR-0032: API Protocol Decision Matrix
- ADR-0053: Integration and E2E Testing Strategy
- ADR-0058: AI-Consumable Architecture Knowledge
- direct entity sharing across modules
- undocumented events
- using database schema as integration contract
- breaking consumers without compatibility strategy