Middleware

Middleware is a computing component that sits between other components and can usually be described as 'software glue', mediating between pieces of software.

There is a lot of ambiguity around the specifics of what middleware is. The term is used differently in different sub fields of computing and even ambiguously within some of those sub fields. It's one of those terms which should probably be agreed upon by actors involved, before it is used in any consequential situation.

An example usage of the term: Messaging Middleware

One of the latter uses of the term might be qualified as Messaging Middleware - message brokers and queues - and can be part of:

  • distributed data processing such as found in cloud data pipeline services or Apache Spark clusters, or;
  • to allow for the communication between services within a microservices architecture, event-driven architecture or Service-Oriented Architecture (SOA).