Some things about programming, design and methodologies, both in English and in Russian. Translation of some articles that I like into Russian.
Некоторые мысли о программировании, архитектуре и методологиях. Перевод понравившихся статей на Русский.

Apr 8, 2016

Hexagonal architecture and ESB (Enterprise service bus). Part 1.

This blog post will start comparing 2 architectural approaches.

You probably have heard about ESB -
architectural model to connect everything with everything. It's
interesting for me to compare it to less known but quite interesting
concept of Hexagonal architecture.
In enterprise there are usually a tons of interconnected
services\applications, so let's evaluate these approaches from
enterprise view.

Overview

In a one sentence:

Hexagonal architecture(HA)
- ‘’every’’ piece of functionality the application(service) offers is
available through an API (application programmed interface) or
function call.

Enterprise service bus(ESB)
- mediator service that facilitates work of loosely coupled
applications(services) that are expected to be independently deployed,
running, heterogeneous, and disparate within a network.Nobody reads middle section, so I will leave it for next posts and jump directly to a conclusion.

Conclusion

Hexagonal architecture might seem less mature, but,
compared to enterprise service bus, it provides a lot of practical
benefits for multiple services integration. They might look uglier on
a paper, but, in practice, they provide faster time-to-market software with
better quality and simpler error handling.
Good news is, that HA
is compatible with ESB, so I think best way is to use HA as a basic
approach, adding some ESB as you need it.
In one sentence - design your application around your business domain, not integration solution.