All insights

Integration Architecture

Modern Complex Integration, Designed the Right Way

Converixa EngineeringJune 25, 202610 min read

Enterprises rarely run a single system of record anymore. They run a landscape — a core platform, a mesh of SaaS products, data warehouses, partner systems, and a growing set of custom applications, each with its own data model and release cadence. The value of that landscape is not in any one system; it is in how well they work together. Integration is therefore not a technical detail at the edge of a project. It is the architecture that determines whether the whole estate behaves as a coherent business or a collection of silos held together by fragile glue.

The anti-pattern: point-to-point spaghetti

The most common integration failure is not a lack of connections — it is too many of the wrong kind. When each system is wired directly to each other system as the need arises, the number of connections grows combinatorially. Ten systems can imply dozens of bespoke, tightly-coupled links, each encoding assumptions about the other's data format, availability, and timing.

The cost of this shows up later. A change to one system ripples unpredictably through everything wired to it. No one can say with confidence what will break. Onboarding a new system means building yet another set of one-off connections. The estate becomes rigid precisely when the business needs it to be adaptable. Good integration design exists to prevent this — to keep the cost of change flat as the landscape grows.

The principles that make integration durable

Well-designed integration is not about a particular product or platform. It rests on a small set of principles that hold regardless of technology, and that a serious technical team will recognize immediately.

Loose coupling

Systems should depend on stable contracts, not on each other's internals. A producer of data should not need to know who consumes it, and a consumer should be unaffected when a producer's internal implementation changes.

Contract-first design

Every integration point is defined by an explicit, versioned schema agreed before implementation. The contract — not tribal knowledge — is the source of truth, which makes changes safe and consumers independent.

Idempotency

In distributed systems, messages get retried and duplicated. Operations must be safe to apply more than once so that a retry never results in a double charge, a duplicate order, or corrupted state.

Observability

Every message and call should be traceable end to end. When something fails at 2 a.m., the team needs to see exactly where and why — not reverse-engineer it from logs scattered across five systems.

Synchronous or event-driven? Choose deliberately

One of the highest-leverage decisions in integration is whether an interaction should be synchronous or event-driven, and mature architectures use both deliberately rather than defaulting to one.

Synchronous request/response — typically REST or gRPC — is right when the caller genuinely needs an immediate answer to proceed: a fraud check before authorizing a payment, an availability lookup before confirming a booking. It is simple to reason about, but it couples the caller's availability to the callee's, so a slow or failing downstream system directly degrades everything upstream of it.

Event-driven integration inverts this. A system publishes a fact — an order was placed, an account was updated — to a stream, and interested systems react in their own time. This decouples systems in both time and availability: the publisher does not wait, and a temporarily unavailable consumer simply catches up later. It is the backbone of resilient, scalable estates, at the cost of embracing eventual consistency, which must be a conscious design choice rather than an accident.

Orchestration versus choreography

For business processes that span multiple systems, there is a related choice. Orchestration uses a central coordinator that explicitly directs each step of a workflow — valuable when a process is complex, must be auditable, and benefits from a single place to see and manage its state. Choreography has each system react to events independently with no central conductor, which scales beautifully and avoids a single bottleneck but distributes the process logic across the estate.

Neither is universally correct. Long-running, compliance-sensitive processes often warrant orchestration for visibility and control; high-volume, loosely-related reactions are better choreographed. Naming this decision explicitly — rather than letting it emerge by accident — is a hallmark of deliberate integration design.

Standards and protocols that earn trust

Durable integration is built on open standards, so that tooling, documentation, validation, and security are consistent across a heterogeneous estate rather than reinvented per connection.

OpenAPI & AsyncAPI

Machine-readable contracts for synchronous APIs and event streams respectively — the foundation for generated clients, mocks, validation, and living documentation.

JSON Schema

Explicit, validated data contracts so malformed messages are rejected at the boundary instead of corrupting a downstream system.

Event streaming & CloudEvents

A log-based backbone such as Apache Kafka for durable, replayable event streams, with the CloudEvents specification giving every event a consistent, vendor-neutral envelope.

Resilience patterns

The transactional outbox for reliable event publishing, sagas for managing consistency across services, and dead-letter queues so failed messages are captured for inspection rather than silently lost.

Reuse is the return on good design

The payoff of disciplined integration is compounding reuse. When capabilities are exposed through stable, well-governed contracts and events flow through a shared backbone, each new initiative connects into an existing fabric rather than cutting new bespoke wiring. Integration stops being the line item that inflates every project estimate and becomes the asset that makes the next project faster.

That is the outcome worth designing for: an estate where adding a system, a channel, or a partner is a routine, low-risk act — because the architecture was built to absorb change instead of resist it.

Key takeaways

  • Point-to-point integration makes the cost of change grow with the size of the estate; good design keeps that cost flat.
  • Loose coupling, contract-first design, idempotency, and end-to-end observability are the principles that make integration durable.
  • Choose synchronous versus event-driven — and orchestration versus choreography — deliberately, per interaction, not by default.
  • Open standards (OpenAPI, AsyncAPI, JSON Schema, CloudEvents) plus resilience patterns like outbox, sagas, and dead-letter queues are what make a heterogeneous estate trustworthy.
Converixa

Converixa Engineering

Integration & Platform Practice

Want to go deeper on this?

Tell us about your systems and goals — we'll respond with a clear, specific point of view.

Talk to us