Enterprise applications such as customer relationship management applications, business intelligence applications, project management applications, human resource management applications, and so on have to integrate with other enterprise applications. You can see the overall diagram of communication between enterprise applications with the following screenshot. Moreover, we have to guarantee that all systems should be scalable. So, we have problems such that we talked before.
Message Brokers mainly attempt to solve these kinds of problems in enterprise applications. In enterprise messaging, we have to guarantee that the message is sent and received, since each of the messages is very important for our system's robustness. Message Brokers have a functionality to store all messages permanently to satisfy this kind of requirement. You can see the overall diagram of the software architecture with the following screenshot: