The ESB service bus allows form different ways of sending messages — depending on their content and in accordance with the specified rules. You can filter and combine messages, or change their sequence as needed. The enterprise service bus can independently receive data from one system via a common API and transmit it to other systems.
You can configure the internal ESB service bus rules to convert messages from a certain system to be sent to other systems. At the ESB level, a data flow can be verified, parallelized, transformed in many ways, and sent to the corresponding systems.
The enterprise service bus has its own scheduling and load distribution mechanisms, that you can use to configure individual logic for getting and sending data from and to different systems and applications and to monitor their workload. For example, if your CRM can accept 100 transactions per minute in the daytime and 500 transactions per minute at night, the ESB will take this logic into account and will not overload your systems.
All actions with messages are visualized and comprehensible: if you comply with the basic naming rules, any business analyst would be able to understand how the integration works and what has to be changed. At the same time, the integration code can be packaged and deployed in a standalone service (JAR or Docker image).