Middleware Middleware is a new class of software whose purpose is to simplify the complex problem of developing and using applications on different platforms of computers, connected over different types of networks. In other words, Middleware is an layer of software that supports multiple communication protocols, multiple programming languages, and can be executed on different computer platforms. This means that by designing and implementing enterprise-wide applications using Middleware tools that integrate otherwise incompatible system components, it is easier for the organization to integrate new technologies into existing systems. Message queuing is a service that allows one application to send a message to another, even if the target system is not currently connected to the network.
Messages are send to message queues that can be stored on disk, and survive system failures.
MOM is not based on any one protocol. However, with RPC, the programmer can execute a procedure on a remote computer. RPCs are typically based on TCP protocol systems and are used to distribute applications logic across multiple platforms on a network. SQL can be used to manipulate several different types of databases, on different machines, at the same time. It is a nonprocedural language, you in effect tell SQL the data needed not how to get the data.