What Is Middleware?
Last updated
In this article
Talk to our experts- Middleware
- Middleware is software that sits between applications and enables communication and the management of data between them. It is sometimes described as software glue. In commerce, integration middleware can connect a storefront such as Shopify to an ERP or accounting system, so data such as orders passes between the systems.
How it works
In a commerce integration, middleware can handle jobs like these:
- Listen: it picks up events from one system, such as a new order. Shopify webhooks deliver near-real-time data about events like these, as an alternative to continuously polling for changes.
- Translate: it converts one system's data into a format the other system can interpret. Data integration is one of the services regarded as middleware.
- Deliver: it writes the result into the other system through that system's API.
- Control: sitting between two or more APIs, it can add services such as rate limiting, authentication and logging.
Services regarded as middleware include enterprise application integration, data integration and message-oriented middleware. Middleware makes communication and input/output easier for developers to implement, so they can focus on the specific purpose of their application.
Types of middleware
A December 1998 workshop on middleware, reported in RFC 2768 (February 2000), "did not arrive at a consensual definition of middleware." Its participants found that the definition depended on "the subjective perspective of those trying to define it." The report roughly characterizes middleware as services above the transport (TCP/IP) layer but below application-level APIs. One bibliography identifies these main categories:
- Transactional: processes multiple synchronous or asynchronous transactions, such as bank transactions or credit card payments.
- Message-oriented: message queue and message passing architectures that support synchronous or asynchronous communication.
- Procedural: remote and local architectures that connect, pass and retrieve software responses of asynchronous system communications, such as a call operation.
- Object-oriented: similar to procedural middleware, but built on object-oriented programming design principles.
Web servers and application servers are also counted as middleware. The enterprise service bus (ESB) can be regarded as middleware, and database access services often are.
Middleware vs iPaaS
Before cloud computing emerged in the early 2000s, internal integration ran on an on-premises middleware platform that typically used a service bus. Integration platform as a service (iPaaS) is a suite of cloud services for developing, running and governing integration flows between applications. Under the iPaaS model, customers develop and deploy integrations without installing or managing any hardware or middleware, and many such services can also integrate legacy or on-premises applications.
Example
A buyer places a 40-unit order on a Shopify store. Shopify sends an orders/create webhook to the middleware's endpoint. The middleware maps the Shopify customer to the ERP account number, converts each line to the ERP item code, and posts a sales order to the ERP. The ERP returns its own order number, which the middleware writes back to the Shopify order so the sales team can find the same order in both systems.
On Shopify
For integrations, Shopify provides APIs and webhooks. The GraphQL Admin API lets you build apps and integrations that extend and enhance the Shopify admin. Webhooks let an app subscribe to topics, such as orders/create, to receive near-real-time data about events on a shop, and Shopify lists integrating order data with accounting software as one use. Shopify also says webhook delivery isn't always guaranteed and recommends reconciliation jobs that periodically fetch data, so the app stays consistent with Shopify's data. A layer between Shopify and an ERP, whether a middleware platform, a custom build or an app embedded in the Shopify admin, can use these APIs and webhooks.
How Uncap helps
Every ERP integration Uncap runs comes down to one of two builds. Uncap Connect is an embedded Shopify app, with no third-party middleware sitting between you and your data, and iPaaS Integration is for teams whose environment calls for connector-based middleware, which Uncap builds, configures and supports. See Shopify integrations.
Sources
Frequently asked questions
What is an integration middleware?
It is software that connects separate business applications so they can exchange data, such as orders flowing from a storefront into an ERP. Enterprise application integration and data integration are both regarded as middleware services.
What is the difference between API and middleware?
NIST defines an API as a system access point or library function with a well-defined syntax, accessible from application programs to provide well-defined functionality, the way Shopify's Admin API serves apps and integrations. Middleware can be the software that separates two or more APIs and provides services such as rate limiting, authentication and logging.
What is middleware and how is it used in backend applications?
The term is most commonly used for software that enables communication and the management of data in distributed applications. It makes communication and input/output easier to implement, so developers can focus on the specific purpose of their application.