You have distributed applications (from different vendors running on variety of platforms) integrated with middleware infrastructure. Applications interact with each other in a traditional/synchronous way by sending messages over the Enterprise Service Bus (ESB)/Broker to get the job done.
Infrastructure Problem
The synchronous infrastructure is causing delays leading to unproductive wait times and dissatisfaction from the users. There is a need for applications to propagate information (state changes and interesting events) to other interested applications asynchronously without knowing the details about their identity.