Comparison of ESB solutions that are popular on the Russian market

8.2.2021
Comparison of ESB solutions that are popular on the Russian market

Content

Let's figure out what components ESB, the enterprise's service bus, consists of. Let's compare how the main functions of the ESB bus are implemented in Talend, Mule, WSO2 and Red Hat Fuse.

What does the ESB layer consist of?

  • Studio
  • Message Broker Support
  • How logging is organized
  • Monitoring
  • The cost of licenses

CVs

The winner in the competition is the one who can quickly scale, quickly implement partnership projects and invest a minimum of money in growth. The traditional view of integrations is diametrically opposed to these priorities. The timing and cost of implementation are unclear, the effect is unpredictable, and instead of the expected advantage, there is uncertainty.

The low-code paradigm is much closer to business priorities. Software that works in this paradigm makes it possible to accelerate the development and implementation of new systems, integrations and features significantly.

One of the products that work in the low-code paradigm is ESB system (abbreviated from English enterprise service bus, Russian. “enterprise service tire”). ESB is a suite of software that works as a single center for exchanging messages between information systems and applications. The service bus makes it easy to configure message routes, stores the history of messages, and records the path of each of them.

rus: Сравнение ESB-решений, популярных на российском рынке

ESB does not require complex and time-consuming development every time it is necessary to connect systems that were not originally designed to work together. Moreover, most of the work is provided by visual development tools. When integrating, business analysis is the main thing, rather than the technical aspects of this integration.

ESB is not a monolithic system, but a layer in the company's IT infrastructure that consists of several products. Each of them takes on one or more of the functions of a service tire. In this article, we will break down the ESB layer into functions and explain how these functions are implemented in products that are popular on the Russian IT market.

Есть запрос на внедрение?

Напишите нашим консультантам и назначьте встречу

What does the ESB layer consist of?

ESB is roughly divided into five components or functions: studio, message broker, logging, monitoring, and hosting.

1. Studio — a graphical environment for developing quick integrations. The systems, parameters and actions are visualized and are as clear as possible. The studio's functionality is enough for most of the actions, such as transmitting and receiving information, transforming and collecting attributes from one stream to another. Here you can also set the parameters that the ESB bus should monitor, consider an integration error, etc. If the integration requires a unique action, you can write it in a couple of lines in traditional languages (for example, Java) or specially developed ones.

Without a studio and, accordingly, without visualizing integrations, ESB cannot be considered a low-code solution.

rus: Из чего состоит слой ESB. Студия
ESB Graphics Studio

2. It is used to exchange messages between systems message broker. This is an active component that “picks up” and “gives” messages, keeps them in order and eliminates the load on the systems that generate and receive messages (the so-called producer and consumer). Developers often make the mistake of calling an ESB system a message broker, such as Apache Kafka or RabbitMQ.

3. Logging is a record of everything that happens to the message. Which system generates it, how it is processed, where it ends up (or doesn't) end up. Logging allows you to clearly understand whether the message is moving along a given route and at what stage and why the problem occurred.

4. Important events that happen with messages and queues are necessary monitor and work it out in time, responding to them. The monitoring component allows you to specify events that need to be responded to and report them to support.

Each ESB solution offers several accommodation options to choose from. For example, some systems allow you to publish the integration to the Kubernetes, OpenShift, Amazon private cloud without any configuration at all. Publishing within your unique cluster will require the work of an architect.

In this article, we'll look at how ESB components are implemented in solutions that are most often offered on the Russian market: Talend, Mule, WSO2, Red Hat Fuse. Sometimes developers add message brokers to the list Apache Kafka (plus Kafka Connect) and RabbitMQ, but these two solutions are not ESB and it is not advisable to consider them as part of this analysis.

Studio

Talend Mule WSO2 Red Hat Fuse
+ + + ±

+ — there's a studio in the box.

± — There is a studio, but it is more difficult to customize and requires constant developer involvement, which goes against the low-code paradigm.

Message Broker Support

Talend Mule WSO2 Red Hat Fuse
Работает с брокерами, которые поддерживают JMS 1.1, Microsoft MQ 3.0, JBoss Messaging 1.4.4, IBM MQ 8.0, Apache ActiveMQ 5.13.2. Работает с Anypoint MQ, IBM MQ, Apache Kafka, брокерами, которые поддерживают JMS 1.0.2, 1.1, 2.0. Работает с Amazon SQS, брокерами, которые поддерживают JMS, Apache Kafka. Работает с Apache ActiveMQ, Apache Kafka, AWS MQ, RabbitMQ, брокерами, которые поддерживают JMS.

None of the systems have internal message brokers. But the “box” contains connectors that support the simple integration of external message brokers. The connectors are systematized and included in manuals.

How logging is organized

Talend Mule WSO2 Red Hat Fuse
Statistics on task (jobs) and component completion are logged. Errors, warnings, and exceptions are logged at the job level. Data flow within a job is logged. Logging is used in Elastic, Apache Log4j, Apache Commons Logging, Trace Logs. Two types of logging. Logging within each integration created in Mule: errors and events mandatory for logging by the integration logic. Logging for starting, stopping, deploying and disabling Mule services and integrations. Logging within each integration created in Mule: errors and events required for logging by the integration logic. The Apache Log4j-based logging mechanism is used through the Apache Commons Logging library. System and component events are logged separately. An Apache Log4j-based logging mechanism is used via the Apache Commons Logging library. Use Apache Log4j-based logging through the Apache Commons Logging library, SLF4J, java.util.logging, Elastic.

As you can see, internal logging in ESB systems is implemented almost identically — with minor features that are specific to each product.

Additionally, logging is provided in external systems that are connected via connectors. A business analyst must write down key events as part of the integration so that reports about these events are logged.

Logging in an external system gives ESB additional flexibility. Most likely, an enterprise-scale business already has a logging component in its IT architecture, and the systems will not duplicate each other's functions.

Monitoring

Talend Mule WSO2 Red Hat Fuse
+ + + +

Event monitoring is sent to external systems through a universal component. The monitoring system can be any of those that are convenient for the operation department: Checkmk, Prometheus, Zabbix, etc. The business, together with developers, is creating a manual that describes the metrics that need to be monitored, acceptable and unacceptable deviations, as well as the actions necessary to correct the situation.

The cost of licenses

Talend Mule WSO2 Red Hat Fuse
Up to $12,000 per year per user. The cost of the maximum version of Talend Data Fabric is calculated individually. Talend Data Fabric is an optensource product. Individual components (Anypoint MQ, etc.) - paid annual subscription. Annual license. Annual license for two users - $22,800. Annual license for two users - $22,800. Annual license - from $9504.

Resume

ESB components Talend Mule WSO2 Red Hat Fuse
Studio + + + ±
Message Broker Support Works with brokers that support JMS 1.1, Microsoft MQ 3.0, JBoss Messaging 1.4.4, IBM MQ 8.0, Apache ActiveMQ 5.13.2. Works with Anypoint MQ, IBM MQ, Apache Kafka, brokers that support JMS 1.0.2, 1.1, 2.0. Works with Amazon SQS, brokers that support JMS, Apache Kafka. Works with Apache ActiveMQ, Apache Kafka, AWS MQ, RabbitMQ, brokers that support JMS.
Logging Internal and external Internal and external Internal and external Internal and external
Monitoring + + + +
Стоимость лицензий Up to $12,000 per year per user. The cost of the maximum version of Talend Data Fabric is calculated individually. Talend Data Fabric is an optensource product. Individual components (Anypoint MQ, etc.) - paid annual subscription. Annual license. Annual license for two users - $22,800. Annual license for two users - $22,800. Annual license - from $9504.

Talend, Mule, WSO2 solve the problem of integration speed and comply low-code paradigm.

Red Hat Fuse is similar in functionality to the previous three products, but it can no longer be considered a low-code solution: even ordinary operations require a developer. However, it maintains the principle of self-documentability.

Apache Kafka and RabbitMQ are not ESB systems but message brokers. They are not enough to create a full-fledged ESB layer; they do not offer any advantages in terms of simplifying integrations and scaling, but they can also become part of the ESB layer.

It is clear that each implementation is individual and should take into account the specifics of the business, product and IT strategies. But among the existing solutions, low-code is the fastest way to carry out digital transformation, scale, and integrate with partners. Therefore, for companies that are interested in rapid growth with the associated optimization of development costs, we recommend low-code solutions: ESB, BPMS, CRM.

Let us separately note that the very implementation of low-code ESB does not happen instantly. Like any large-scale integration, it takes time and resources: costs for the development team, servers (if necessary), etc. In this regard, low-code solutions are no different from the usual ones. Development savings begin only after they are implemented.

Другие статьи

Смотреть все

How to prepare your business for digital transformation. Part 2

Подробнее

Why do we need an analytical culture?

Подробнее

Why a working microservice architecture starts with order in business processes

Подробнее

Смотреть все

We use cookies to provide the best site experience

Ok
I need advice on ESB