Integration & API Architecture

No enterprise runs on a single system, and none has for decades. The modern estate is a federation: an ERP at the core, a customer platform bought as a service, a warehouse system inherited through acquisition, a payments provider, a data platform, and a growing tail of specialist SaaS applications that each solve one problem well. The question that decides whether this federation behaves as a coherent business or a collection of arguing silos is rarely the quality of any individual system. It is the quality of the connective tissue between them. Integration architecture is that tissue, and it is the part of enterprise architecture where good intentions most reliably meet reality.

The stance of this piece is straightforward. Integration is not plumbing to be improvised after the real design work is done. It is a first-class architectural concern with its own principles, its own failure modes, and its own economics. The estates that stay adaptable over years are not the ones with the cleverest applications. They are the ones whose interfaces are treated as contracts, whose components are loosely coupled, and whose integration layer was designed on purpose rather than accreted by accident.

What Nashua offers hereEngagements that make a heterogeneous estate behave as one through clean interfaces and loose coupling.See the engagements

The estate no longer has edges

For most of the history of enterprise IT, integration was an occasional event. Systems were large, long-lived, and few. Connecting two of them was a project with a start and an end, and the boundary of the organisation was also roughly the boundary of its systems. That world is gone. The average large organisation now runs hundreds of applications, a majority of them delivered as a service and owned by a vendor rather than by the IT department. New capability arrives by subscription, not by build, and each subscription expects to exchange data with everything around it.

This changes the centre of gravity of architecture. When capability was built in house, the hard decisions were about what to build. When capability is bought, the hard decisions are about how the bought things connect and how much they know about one another. A composable strategy, whether framed as best-of-breed, MACH, or simply pragmatic procurement, is only as good as the integration that binds the parts. An organisation can assemble an excellent set of applications and still deliver an incoherent experience if orders, customers, and inventory mean subtly different things at each boundary.

It matters now for a specific reason: the rate of change has outrun the tolerance for tight coupling. When systems were replaced once a decade, a brittle integration that had to be rewritten during each replacement was survivable. When systems are added, swapped, and retired continuously, every tightly coupled connection becomes a recurring tax. The cost of poor integration used to be paid occasionally and forgotten. It is now paid every quarter, in delayed projects, in change requests that ripple further than anyone predicted, and in the slow realisation that no one can safely touch a core system because too many other things depend on the exact shape of its data. This is why integration architecture has moved from a delivery detail to a board-level constraint on how fast the business can change.

Contracts before connections

The first principle of integration architecture is that a connection is a relationship, and a durable relationship needs a contract. The interface between two systems is not an implementation detail of either one. It is a shared agreement about what will be exchanged, in what shape, with what meaning, and with what guarantees. When that agreement is explicit, both sides can change their internals freely as long as they honour it. When it is implicit, discovered by inspecting whatever data happens to arrive, every internal change becomes a potential break somewhere else. An API is best understood not as a piece of code but as a published promise.

The second principle is loose coupling, which is often invoked and less often understood. Coupling is the degree to which one component must know about, and change with, another. It has several dimensions: coupling in data format, in timing, in location, in technology, and in the internal model a system exposes. A well-designed interface minimises all of them. The consumer should not need to know where the provider runs, what technology it uses, whether it is available at this exact instant, or how it structures its database. It should need to know only the contract. Loose coupling is not an absence of dependency. It is a dependency mediated through a stable, deliberately narrow interface rather than through raw internals.

The third principle is that the interface should express the domain, not the implementation. An interface that leaks the provider's table structure, its internal codes, or its technical quirks forces every consumer to understand the provider's private world. An interface expressed in the language of the business, orders, shipments, customers, invoices, hides that private world and remains stable even as the implementation behind it is rebuilt. This is the deeper meaning of an integration layer: it is not merely a place where connections physically pass through, but a place where the meaning of the estate is made explicit and consistent, so that a heterogeneous set of systems can present a single, coherent set of interfaces to everything that needs to work across them.

Integration & APIlayerERP / coreCRM & commerceData platformPartner APIsChannels & appsFinance & payments
An integration layer mediates every system through stable contracts instead of direct point-to-point links.

Where integration is heading

The dominant shift of the last several years is the move from request and response as the default to events as a first-class citizen. In the synchronous model, a system asks another for something and waits. This is natural for queries, but it couples the two in time: the caller cannot proceed unless the callee is available and fast. Event-driven integration inverts this. A system publishes a fact about something that has happened, an order was placed, a payment cleared, an address changed, and other systems react to that fact on their own schedule. The publisher does not know or care who is listening. This temporal decoupling is what allows an estate to absorb load, tolerate partial outages, and add new consumers without touching the producer.

Message-based and streaming platforms have matured to make this practical at scale. Durable logs and message brokers provide the backbone, and the discipline of treating a stream of events as a shared source of truth has spread from niche to mainstream. Alongside this, API-first has become an operating assumption rather than an aspiration: the contract is designed and agreed before the implementation, and increasingly the contract is described in a machine-readable specification that generates documentation, client code, and validation. What OpenAPI did for synchronous APIs, comparable specifications are now doing for asynchronous, event-based interfaces.

Two further movements deserve mention. The first is the treatment of APIs as products rather than as project by-products. An API product has an owner, a lifecycle, a set of consumers treated as customers, and a deliberate versioning policy, whether it is exposed internally, to partners, or publicly. The second is the rise of managed integration platforms and gateways that centralise the cross-cutting concerns, security, throttling, observability, transformation, so that these are solved once rather than reimplemented in every connection. The trend is not toward a single technology but toward a layered set of capabilities: gateways for synchronous traffic, brokers and streams for asynchronous flows, and integration platforms that let teams compose flows without hand-building every adapter.

Principles that hold under load

Good integration architecture is distinguished less by which technologies it uses than by which properties it guarantees. The first is explicit, versioned contracts with a backward-compatibility discipline. Consumers must be able to depend on an interface without fear that a silent change will break them, and providers must be able to evolve without coordinating a synchronised release across every consumer at once. This means additive change by default, clear versioning when a break is unavoidable, and a defined period during which old and new coexist. An interface without a versioning strategy is a break waiting for a schedule.

The second property is idempotency and tolerance of imperfect delivery. Networks fail, messages are retried, and duplicates arrive. An integration that assumes exactly-once, in-order, always-successful delivery is an integration that will corrupt data the first time reality disagrees. Designing operations so that receiving the same event twice is harmless, and so that events can be reprocessed, is not an edge case. It is the baseline for anything asynchronous.

The third is the deliberate choice between orchestration and choreography. Orchestration places a central coordinator in charge of a process, which is clear and easy to reason about but concentrates coupling in one place. Choreography lets components react to events without a central conductor, which is highly decoupled but harder to observe and reason about as a whole. Neither is correct in the abstract. The skill is knowing which to use where: orchestration for processes that need a clear owner and auditable state, choreography for propagation of facts across many independent consumers.

The fourth is restraint about shared meaning. A common vocabulary across the estate is valuable, but the ambition to define one universal model for every entity, imposed everywhere, tends to collapse under its own weight. The mature approach borrows from domain-driven design: recognise bounded contexts where the same word legitimately means different things, translate at the boundaries, and keep canonical definitions where they genuinely reduce friction rather than everywhere on principle. The integration layer's job is to mediate meaning, not to force every system into one dictionary that fits none of them well.

The ways it goes wrong

Point-to-point spaghetti is the classic and most expensive failure. Each new integration is built directly between two systems, because that is the fastest path for the project in front of you. After enough projects, the estate is a dense mesh in which every system knows about many others, no one can see the whole, and any change ripples unpredictably. The number of possible connections grows with the square of the number of systems, and so does the maintenance burden. The tragedy is that each individual point-to-point link was a reasonable local decision. The spaghetti is an emergent property of never having designed the layer.

The distributed monolith is the failure that masquerades as modern architecture. The systems are separated, but they are so tightly coupled through synchronous calls and shared assumptions that nothing can be deployed independently. A change to one requires coordinated changes and releases across several. This is worse than a monolith, because it has all the coupling of one plus the operational complexity of a distributed system. It is usually the result of splitting systems physically without decoupling them logically.

The canonical model that ate the enterprise is the failure of over-centralisation. A well-meaning effort to define one shared data model becomes a bottleneck: every integration must map to a sprawling universal schema, every change to that schema affects everyone, and the model grows baroque as it tries to accommodate every special case. The cure for spaghetti becomes its own disease. The chatty synchronous chain is a related trap, where a single user action fans out into a long sequence of blocking calls across many systems, so that the slowest or least reliable link determines the behaviour of the whole, and a single timeout somewhere deep in the chain surfaces as an inexplicable failure at the top. Contract drift completes the set: interfaces exist but are undocumented and ungoverned, versions multiply informally, and no one can say with confidence who consumes what, so nothing can be safely retired.

How Nashua approaches integration

Nashua treats integration as an architecture to be designed, not a backlog of connectors to be delivered. The starting point is always an honest map of the current estate: which systems exist, how they actually exchange data today, where the point-to-point links have accumulated, and which of them carry business-critical flows. This map is frequently the first time an organisation sees the true shape of its connectivity, and it is where the real risks and the real opportunities become visible. We resist the temptation to jump to a target technology before the problem is understood.

From that map we work with the organisation to define an integration reference architecture: the layers and their responsibilities, the boundaries where meaning is translated, the choice of synchronous versus event-driven for each class of flow, and the standards for contracts, versioning, and error handling. This is deliberately technology-informed but not technology-led. The reference architecture states what properties every integration must have before it fixes which gateway, broker, or platform provides them, so that tooling serves the design rather than dictating it.

Delivery is incremental and evidence-led. Untangling an estate that has grown point-to-point over years is not done in a single programme, and attempting to is itself a failure mode. We identify the flows where decoupling buys the most freedom, introduce the integration layer around those first, and let the pattern prove itself before extending it. Each new interface is designed as a contract with an owner, documented in a machine-readable specification, and registered so that its consumers are known. Over time the estate accumulates an API catalogue that is a genuine asset: a browsable, governed inventory of what the organisation can connect to and how. We pair this with the operational side, observability, security at the boundary, and lifecycle management, because an integration that cannot be monitored and versioned in production is a liability regardless of how elegant its design looked on paper.

Where Nashua makes the difference

The difference Nashua brings is the combination of architectural discipline with delivery that reaches production. Many organisations have a diagram of the integration layer they wish they had, and a reality that looks nothing like it. The gap between the two is not closed by a stronger diagram. It is closed by working alongside the teams who build and operate the connections, by making the right pattern the easy pattern, and by governing contracts and versions with enough rigour to be safe and enough pragmatism to keep moving. We hold the long view of the reference architecture and the short view of the flow that has to ship this quarter, and we refuse to let either one quietly sabotage the other.

There is also a practical corollary that changes what the work is permitted to assume. When an engagement calls for a capability that does not yet exist, it need not wait on a procurement cycle or a vendor's roadmap. The Nashua 360 Enterprise Platform is built to accommodate almost any feature at pace, through extreme vibe coding: what is needed is described in plain language and generated quickly, but always within firm architecture principles and under stringent quality assurance, so that speed never comes at the cost of coherence, security or control. The effect is strategic rather than merely convenient. It moves the make-or-buy line, keeps optionality cheap, and lets the architecture follow the strategy rather than the strategy bending to whatever happened to be on a shelf.

What endures after our work is not a dependency on us. It is an estate whose systems are joined through deliberate, documented interfaces rather than a tangle of private assumptions, and an organisation that can add, replace, and retire systems without every change becoming an archaeology project. That is the real return on integration architecture: not a technology, but the recovered ability to change. When the connective tissue is designed with care, a heterogeneous estate stops behaving like a set of arguing silos and starts behaving like one business, and the next system the organisation buys becomes an addition rather than a threat. Helping our clients reach and keep that state, quietly and durably, is where Nashua makes the difference.