So, we looked at different file transfer mechanisms and we also looked at the API mechanisms which can happen where transactions can be committed (written to database) instantly, it's time to discuss upon another important component in the organization which makes the API transactions more efficient, lets understand how.
we discussed last time how an API can help connect two systems and exchange data or pass on instructions but if we have 1 system hosting the API and 5 systems want to access that API or imagine a scenario where you have 100 systems hosting APIs and also connecting to each other's APIs for business related transactions, just imagine the number of point-to-point connections you would end up making!! That would be a total of 100 X 100 = 10,000 connections, that is quite a big number, just imagine the management overhead and opening so many network connectivity's. To avoid such challenges, instead of making all "Point to Point" Connections we would rather go for a centralized device called the "Enterprise Service Bus" (ESB). As the name suggests all the APIs would be hosted on that centralized BUS on which any application can connect and consume any APIs hosted, by saying “hosted” I mean the ESB would act as a proxy gateway for each connection , so instead of 10,000 connections now it would be only 100 connections, also if any new application wants to access these 100 APIs, it does not need to connect to all 100 servers individually but it only has to make one connection to the ESB and from there it can access all the 100 APIs
So, in a large Enterprise such as a Bank, it’s quite impossible to run the internal API infrastructure without an ESB.
Ok so now we know the basic use of an ESB but there is more to it, in today’s world acting as an API proxy is not the only task which an ESB can perform, it can also perform API orchestration; for e.g. execute API1 and based on a positive response execute API 2 or on a negative response execute API3, it can also act as an application server which has Business logic based on the business requirement, it can also perform data transformation such as it can convert message formats from XML to JSON and vice versa, It has its own database where the configuration of ESB is stored or you can also use the database to temporarily store transactions-based information on which the ESB can take certain actions
All in all, it’s an Integration Bus which integrates almost 99 percent of the APIs in an organization.