Enterprise Service Bus (ESB) is middleware used to allow disparate applications to communicate and distribute work within a service oriented architecture (SOA).​​