Middleware is software that sits between two or more systems and manages the traffic between them: fetching data, translating it into the right format and delivering it to the target system. It is the 'in-between layer' that lets systems work together that don't natively understand each other.
Middleware in practice
In an SMB context you encounter middleware in two forms: as an integration platform (iPaaS) that runs flows, and as a custom layer built specifically for your systems. That layer also guards things you tend to forget with a direct connection: queues at peak times, error handling, logging and re-submitting failed messages.
Middleware also prevents a spaghetti of one-to-one connections: instead of connecting each system to every other system, everything talks to the in-between layer. That makes replacing a single system much simpler later on. How to weigh up that trade-off is covered in Preventing duplicate work.
Related terms
- API integration — An API integration is a connection between two software systems that automatically exchange data through their APIs — for example orders from a webshop to accounting, or placements from an ATS to invoicing.
- iPaaS — iPaaS (integration Platform as a Service) is a cloud service that lets you connect software systems without building or hosting integration software yourself.
- ETL — ETL stands for Extract, Transform, Load: pulling data from source systems (extract), reshaping it into a usable structure (transform) and writing it to a target system such as a database or dashboard (load).
- Single source of truth — A single source of truth is the agreement that every piece of data has one leading source: customer data lives in the CRM, inventory in the point-of-sale system or WMS, invoices in accounting.