Middleware messaging features asynchronous and synchronous messaging models. The middleware functions by locating a called procedure on a network and using network services to pass function parameters to the procedure and to return results.
It is most often used to pass transactions between distributed applications. Asynchronous messaging using queuing sends messages from one application to another using a queue as an interim step. messages are sent to a queue and remain there until they are retrieved by the server application. The advantage to this system is that the server application does not need to be available when the message is sent