A Web browser is a simple form of middleware since the browser connects a user interface on one side and network services on the other side. Most middleware is more complex than a Web browser. For example, middleware can link a database system to a Web server, or it can provide an interface among two or more databases.
It is particularly useful in business applications that require communication among multiple databases that run on different hardware with different operating systems.
For instance, middleware might connect an accounting system with a supplier catalog database.
Middleware is the term is most commonly used for software that enables communication and management of data in distributed applications. In this more specific sense middleware can be described as the dash in the 'client-server' architecture (or the '-to-' in the
peer-to-peer architecture). ObjectWeb defines middleware as: "The software layer that lies between the operating system and applications on each side of a distributed computing system in a network."
Services that can be regarded as middleware include
- (EAI) enterprise application integration,
- data integration,
- message oriented middleware (MOM),
- object request brokers (ORBs), and the
- (ESB) enterprise service bus .
Distributed computing system middleware can loosely be divided into two categories,
- those that provide human-time services (such as web request servicing) and
- those that perform in machine-time.
This latter middleware is somewhat standardized through the Service Availability Forum and is commonly used in complex embedded systems within telecom, defense and aerospace industries.