Middleware

Noun · Development · Origin: 1968

Definitions

  1. Middleware is software that sits between components in a system, intercepting and processing requests as they pass through a pipeline. In web frameworks like Express, Django, and ASP.NET, middleware functions execute sequentially on each request, handling cross-cutting concerns such as authentication, logging, CORS headers, rate limiting, and error handling. In enterprise architecture, middleware refers broadly to software connecting disparate systems, including message brokers, API gateways, and integration platforms. The pattern is powerful because it separates infrastructure concerns from business logic: each middleware handles one responsibility, and the pipeline composes them together. Adding or removing a concern means changing only the middleware stack, not the core application.

    In plain English: Software that acts as a translator or middleman between different parts of a system, handling common tasks so each part doesn't have to.

Origin Story

Born at a NATO conference when software was barely a word

The term **middleware** first appeared at the 1968 **NATO Software Engineering Conference** in Garmisch, Germany — the same historic conference that coined "software engineering" itself. In those early discussions, middleware referred to software that sat between the operating system and the application, mediating between the two.

Through the 1980s and 1990s, middleware became critical as enterprises needed different systems to communicate. Products like IBM's MQSeries, CORBA, and later Enterprise Service Buses (ESBs) filled the gap between applications that were never designed to talk to each other. Middleware was the glue, the translator, the diplomat of enterprise software.

In modern web development, "middleware" has been reborn with a simpler meaning: a function that sits in the request/response pipeline, processing data as it flows through. Express.js, Django, and Rails all use this pattern. The NATO conference delegates would barely recognize it, but the core idea — software that lives in between — remains perfectly intact.

Coined by: NATO Software Engineering Conference participants

Context: NATO Conference, Garmisch, Germany, 1968

Fun fact: The 1968 NATO conference was such a landmark event that the term 'software crisis' also emerged from it. Attendees were alarmed that software projects were consistently late, over budget, and buggy — problems that, 58 years later, still feel familiar.

Related Terms