Middleware

Middleware is software that connects applications together. The term “middleware” comes from the fact that this software sits between the front-end, or client-side, of an application and the back-end, or server-side, where the resources are being requested.

Types of Middleware

Data, APIs, software tools, and other applications are connected by middleware in order to bring a complete or bundled application to the end user. There are many types of middleware software depending on the use cases. Some of the most commonly used middleware are listed below.

Message Oriented Middleware

A message oriented middleware, or MOM, allows applications to exchange messages and communicate with one another. This middleware offers ease of use but can be costly at larger scales.

Examples

RabbitMQ RabbitMQ is a messaging broker platform used by applications to send and receive messages.
IBM MQ IBM MQ is another example of message oriented middleware. Some of the core components include messages, message queues, and queue manager.
Amazon SNS Amazon simple notification service is a way to manage messaging between applications and users.

Database Middleware

This type of middleware gives access to databases and provides points of interaction between a variety of databases. This middleware improves efficiency however it can be language specific which can create limitations.

Examples

ODBC Open Database Connectivity is an API used for accessing database management systems.
JDBC Java Database Connectivity is an API that uses Java to access databases.

API Middleware

This type of middleware provides developers with the tools to create and manage APIs used in applications. While it offers scalability, connections can be slow when dealing with different servers.

Examples

API management platforms API management platforms allow developers to access, control, and analyze APIs.
API gateways API gateways provide services related to user authentication and rate limiting.

Contributors

Interested in helping build Docs? Read the Contribution Guide or share your thoughts in this feedback form.

Learn More on Codecademy