ETL solutions in the ESB layer allow you to create microservices for sending messages depending on their content, with transformations, and in accordance with the specified rules. You can filter and combine messages, as well as independently receive data from one system via any API and transmit it to other systems.
You can configure the internal service bus rules to convert messages from a certain system to be sent to other systems. At the connector (microservice) 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.
The ESB service bus includes the means of rapid development, consisting of a large spectrum of pre-programmed actions, for example:
• to get / send a message via JSON or as XML to FTP;
• to get / send product information from one system, and in the absence of the required attribute to "turn to" another system to get it and then put it in a queue to add it to yet another system.
As a rule, if a change of logic is required, it is made with several lines of code, and sometimes with a single line.
All actions with messages are visualized and clear: if you comply with the basic naming rules, any business analyst would be able to understand how the integration works and what is to be changed. Also, the integration code can be packaged and deployed in a standalone service (JAR or Docker image).
The ESB layer presence in the enterprise's IT circuit simplifies the logic of integrations, making them fast and predictable even without extra developments to the end systems where information about goods, prices and warehouse balance is stored, and, at the same time ensures full control of the integration microservice source code.