Middleware may be a terribly nebulous term. what’s “middleware” in one case won’t be in another. generally , you’ll expect something classed as middleware to possess the subsequent characteristics:
If it weren’t there, applications that depend upon it might need to incorporate it as a part of their application and would experience tons of duplication. Almost certainly connects two applications and passes data between them.
You’ll notice that this is often just about an equivalent definition as an OS . So, as an example , a TCP/IP stack or caching might be considered middleware. But your OS could provide an equivalent features, too. Indeed, middleware are often thought of sort of a special extension to an OS , specific to a group of applications that depend upon it. It just provides a higher-level service.
Here are some samples of middleware:
- distributed cache
- message queue
- transaction monitor
- packet rewriter
- automated backup system
There are (at least) three different definitions I’m conscious of
- in business computing, middleware is messaging and integration software between applications and services
- in gaming, middleware is pretty much anything that’s provided by a third-party
- in the embedded software systems, middleware provides services that applications use, which are composed out of the functions provided by the hardware abstraction layer – it sits between the appliance layer and therefore the hardware abstraction layer.
Simply put Middleware may be a software component which provides services to integrate disparate systems together. In an complex enterprise environment, there are variety of challenges once you got to integrate two or more enterprise systems together to speak to every other. Normally these systems don’t understand each others language as they’re developed on different platforms using different languages (like C++, Java, Cobol, etc.).
So here comes middleware software in picture which provides services like transformation of messages formats from one app to other, routing and enriching messages besides taking care of security, encryption and applying different business rules to those messages.
A typical example of middleware is an ESB products like IBM message broker (WMB/IIB), WESB, Datapower XI50, Oracle Fusion, Mule and lots of others.
Therefore, middleware sits mostly in between the service consuming apps and services provider apps and help these apps to speak to every other. Middleware may be a general term for software that serves to “glue together” separate, often complex and already existing, programs.