Intellectual
← All Insights
Enterprise Integration19 July 20227 min read

Enterprise Service Bus Evolution

The ESB pattern is older than most engineers who work with it. A look at where it came from, what it did well, where it earned its bad reputation, and what genuinely replaces parts of it in modern integration architectures.

The Enterprise Service Bus is older than most engineers who work on integration platforms today. It came out of a specific historical moment — the SOAP-era effort to give enterprise applications a common way to talk — and it accumulated a complicated reputation in the years since. Some of that reputation is deserved. Most of it reflects what people built on top of the ESB rather than what the ESB itself was.

This guide is a measured look at the pattern: what it actually was, what it actually did well, where it earned its bad reputation, and what is genuinely replacing parts of it today.

What the ESB pattern is, separated from its products

Strip the pattern down to its primitives and an ESB is three things:

  • A transport layer that moves messages between heterogeneous endpoints (JMS, MQ, HTTP, file, SMTP — whatever the endpoint speaks)
  • A mediation layer that transforms messages, routes them by content, and enforces policy (transformation, validation, security, logging)
  • A registry that catalogues the services available on the bus

That is the pattern. It is reasonable. It anticipated many of the concerns that we now build into API gateways, message brokers, and integration platforms. The difference between the pattern and its bad reputation is what got built on top of it.

What the ESB did well

In its honest applications, the ESB delivered:

Decoupling of producers from consumers. A consumer didn't need to know what protocol or message shape the producer used. The bus handled the impedance mismatch. This was genuinely useful in the SOAP-and-XML era when every endpoint spoke a slightly different dialect of the same standards.

Centralised mediation. Logging, transformation, security policy enforcement, audit — these concerns lived in the bus rather than being implemented inconsistently in every consumer. The audit story for enterprise integration was simpler with an ESB than without.

Heterogeneous transport bridging. Connecting a JMS consumer to an MQ producer to an HTTP partner was the ESB's home ground. The protocol bridging that was tedious to write by hand was straightforward in an ESB.

A canonical message model. The disciplined ESB estates we have audited had a published canonical message vocabulary for the enterprise. Every producer transformed to canonical on the way in; every consumer transformed from canonical on the way out. This produced an integration estate that could absorb endpoint changes without rippling impact.

The estates that used the ESB pattern for these purposes generally got value from it. Many of them are still running today.

Where it earned its bad reputation

The ESB's bad reputation comes from three accumulated patterns:

Business logic in the bus. The mediation layer is meant for transformation, routing, and policy. It was widely used for business logic — validation rules, business decisions, partner-specific workflows, lookup-and-decide patterns. This concentrated business meaning in the bus, which was the wrong place for it: the integration team owned the bus, the business owned the logic, the bus became the bottleneck for every business change.

Single point of failure scaling. The early ESB products were architected as logically centralised brokers — a single bus instance with high availability rather than horizontal scale. As enterprise traffic volumes grew through the 2010s, the bus became a capacity bottleneck. Some products evolved (federated buses, distributed gateways), but the pattern earned a reputation as "doesn't scale" that lasted longer than the architectural limitation did.

Operational opacity. The mediation layer made integrations easier to write and harder to understand end-to-end. When something went wrong, the troubleshooting path was through the bus's internal logging, which was often less informative than direct integration logging would have been. Operations teams who had loved ESBs in their first year often resented them by their fifth.

The pattern itself did not cause these problems. The way teams used the pattern did. But by the late 2010s the cumulative experience produced a strong rhetorical reaction — "ESBs are dead, microservices and event-driven are the future" — that was overconfident about both what was wrong with ESBs and what was sufficient to replace them.

What is actually replacing parts of it

The components that have genuinely picked up parts of the ESB's role:

API gateways have absorbed the API-facing mediation layer. Authentication, rate limiting, transformation at the API boundary, developer portal, lifecycle — these were ESB concerns and are now API gateway concerns. Better tooling, cleaner separation, more focused operating model.

Event brokers (Kafka, RabbitMQ, AWS EventBridge, Azure Event Hub, Azure Service Bus) have absorbed the asynchronous transport role. Decoupling producers from consumers via durable event streams turns out to be a more scalable pattern than centralised brokered queuing for many workloads. Event-driven architectures replace some — not all — of what the ESB did.

iPaaS platforms (MuleSoft Anypoint, Boomi, Azure Integration Services, webMethods.io) have absorbed the integration runtime role in a cloud-friendly shape. The mediation primitives are similar to ESB primitives; the operating model is different — distributed, cloud-native, with managed runtime.

Service mesh has absorbed the internal service-to-service mediation role within microservice estates — mTLS, traffic shaping, observability — that ESBs used to provide for internal SOAP service traffic.

None of these alone replaces the ESB. Together they do, for most workload shapes. The honest summary is that the ESB pattern was disaggregated into specialised tools, each better at its job than a single bus was at all jobs.

What still doesn't have a clean replacement

A few things the ESB did well do not have an obvious modern replacement:

B2B trading partner integration with rich document mediation. Trading Networks-style platforms (webMethods TN, Boomi B2B, MuleSoft Partner Manager) still own this. The work is genuinely different from API or event traffic and the modern stack has not converged on a single answer outside dedicated B2B platforms.

Long-running stateful mediation. Some integration scenarios need durable state across multi-step transactions (compensation, saga patterns, multi-step partner conversations). Modern alternatives exist (workflow engines, BPM platforms, distributed transaction frameworks) but none are as turnkey as the ESB's built-in support for this.

Canonical message model maintenance. The discipline of "transform to canonical on the way in, transform from canonical on the way out" can be applied with modern tools but is more diffuse. Without an ESB enforcing it, the pattern often drifts.

What to do with an existing ESB estate

For estates running on a current ESB today, the architectural decisions are:

  • Don't replace as a default reflex. A working ESB with a good operating model is not a problem to solve. Many of the estates we have rescued from migration programmes did not need to migrate.
  • Replace specific functions, not the platform. If API traffic has grown to a point where the API gateway story is the priority, add a modern API gateway in front of the ESB. Migrate API-facing concerns to the gateway. Leave the rest of the ESB alone for now.
  • Address business logic that has accumulated in the bus. This is true whether you keep the ESB or replace it. Business logic belongs in a BPM platform or in the endpoint applications. Pulling it out of the bus is independent of the ESB question.
  • If you do replace, sequence carefully. Strangler-fig at the integration level: route new integrations through the new platform, migrate existing integrations by bounded context, maintain the ESB on a defined sunset.

The honest summary

The ESB pattern was not wrong. The products implementing it were not bad. The teams that used it well got real value from it; the teams that overloaded it with business logic suffered. The modern integration stack is better in many specific dimensions and worse in a few. For new builds today, the modern stack is the right default. For existing estates, the question of whether to replace the ESB is a separate, careful decision that does not have a universal answer.

The "ESBs are dead" rhetoric was useful as a corrective when it was published. By 2022 it is overcorrected. The pattern continues to serve large estates well; the products implementing it are still being improved; the architectural discipline that determines whether any integration estate succeeds — operating model, governance, observability — does not depend on whether the underlying platform is called an ESB, an iPaaS, or an integration fabric.

RELATED READING

More from the field.

Service practices the article draws on, related programmes, and other pieces on adjacent topics.

Discuss this work

Bring an enterprise programme.

If anything in this piece resonates with what you're building, talk to us. Senior practitioners engage directly on architecture and delivery.

Work with the practitioners

Bring an enterprise programme.

Architecture audit, new delivery, modernisation, or in-flight rescue — Intellectual engages directly on enterprise programmes with senior practitioners.