Using an Enterprise Service Bus (ESB) model is recommended when you have multiple business applications, data repositories and data consumers that need to talk to each other through a service layer that contains the rules and a common framework on how to communicate between those entities.