main banner


Enterprise Service Bus Architecture

Most applications use data, information to work e.g. user information, financial data, weather data and so on. Any useful application consumes or generates data of any kind.

When the application manages the data by itself and store the data, let's say, in a database or in a local file, we can say that the application and the data are tightly coupled. But what happens if we want to change the file we are reading from? What if the database was moved to another server, or changed name?
Blog Article

In this case we would have to go to the application, find the code that manages the data, and change it. Possibly we would need to get the source code, do the change and recompile it again - hoping it would all still work as expected.

But what if we could decouple the application and the data from the application? The application would just ask for the data, to some other entity, and just do what the application has a responsibility to do, that is, do something with the data. The application wouldn't be in charge of managing the data, it would just ask for it.

Blog Article

That is what an Enterprise Service Bus does. It is in charge of the data, it provides the data requested, and if the source of the information changes it would be transparent to the application. The application wouldn't even know that the database source changed, it would just ask for the data as it always has.

Blog Article

That is the main advantage of an ESB: the application is decoupled from the data, so each has its own responsibility.

In the next article we’ll learn how we are using ESB at Inflection Point.


Rafael A.

Rafael, born in the city of Monclova and raised in Monterrey, naturally blended into the Inflection Point’s blogger community since he is an avid redditor with almost 10k karma. He has worked with the Java environment and led teams around this language for 15 years and has become a super-cool friend at our community. He is a board-game geek and Lego fan with a Master's degree in Science Computer Technologies.