The objective of all middleware is to enable communications between various applications. However, the company that deploys the middleware decides on the type of messaging to be used.
As a rule, the decision depends on the services the company needs and the type of data and other information it aims to transfer through the middleware.