3 min read

What is middleware software? The translator between your business systems

Middleware is software that sits in the middle of other software. It doesn’t do the work your staff see, like taking orders or sending invoices. Instead, it carries messages and data between the systems that do, translating and routing along the way. If your applications were departments in an office, middleware would be the mailroom.

The word gets used loosely, which is why it confuses people. We’ll pin it down with one analogy, one diagram and a short list of the types you’ll actually hear about.

The mailroom analogy#

Imagine an office where every department sends memos directly to every other department. Sales walks memos to finance, finance walks them to the warehouse, the warehouse walks them back to sales. With three departments that’s fine. With twelve, people spend half the day walking, memos get lost, and nobody knows whether the warehouse got the note.

Now add a mailroom. Every department drops its memos in one place. The mailroom knows where each one goes, holds it if the recipient is out, translates it into the format the recipient prefers, and keeps a log of what was delivered. Departments no longer need to know where each other sit.

That’s middleware. Each application connects once, to the middle layer, rather than to every other application.

Before and after#

WITHOUT MIDDLEWARE WITH MIDDLEWARE
CRM ------- Accounting CRM Accounting
| \ / | \ /
| \ / | v v
| \ / | +--------------+
| \/ | | MIDDLEWARE |
| /\ | | route, queue,|
| / \ | | translate,log|
v v v v +--------------+
Shop ------ Warehouse ^ ^
/ \
6 direct links to build Shop Warehouse
and maintain 4 links, one per system

With four systems, direct links top out at six. With ten, they top out at 45. Middleware keeps the count equal to the number of systems.

The main types you’ll hear about#

TypeWhat it doesEveryday example
Message broker or queueHolds messages until the receiving system is ready, so nothing is lost if it’s busy or downMicrosoft describes Azure Service Bus as a fully managed enterprise message broker with queues and publish-subscribe topics
Event streaming platformRecords a continuous stream of events that many systems can readApache Kafka, which its project site calls an open-source distributed event streaming platform
Integration platform (iPaaS)Hosted middleware with ready-made connectors and visual workflowsIntegration platform as a service products that connect SaaS apps
Enterprise service bus (ESB)An older, centrally run style of integration hub inside a company’s data centerTypically run by an in-house IT team
API gatewayA front door that checks and routes requests to a company’s own APIsOften grouped under middleware, though it faces outward

Some people also count database drivers and application servers as middleware. That’s technically correct, but it isn’t what a business buyer usually means.

What middleware does for you#

  • Decoupling. Systems don’t need to know about each other’s internals. You can replace your accounting app and only re-plug one connection.
  • Buffering. If one system is offline for maintenance, messages wait in the queue instead of disappearing.
  • Translation. One system’s “customer_id” becomes another’s “AccountNumber,” and dates get reformatted.
  • Visibility. A central log shows what moved, when, and what failed.

When you need it, and when you don’t#

Most small companies start with direct connections: the built-in link between their online store and their accounting software, for example. That’s sensible. Middleware starts to pay for itself when you have more than a handful of systems that all need to share data, when a missed message costs real money, or when you’re spending noticeable staff time fixing broken connections.

What this means for a 20-person company

  • You probably already use middleware without calling it that: an automation platform connecting your apps is a lightweight version.
  • The trigger to invest further is pain, not size: lost orders, duplicate records, or staff re-keying data.
  • Ask any integration vendor how failed messages are held and retried. That answer tells you how much the “middle” is really doing.
  • Keep a simple diagram of which system talks to which. It’s the map you’ll need when something breaks.