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.
No comments:
Post a Comment