An Enterprise Service Bus (ESB) can be thought of like a switchboard between applications. An ESB is essentially a communications bus, a middleware that enables you to integrate various applications by using a platform-agnostic layer. An ESB is a broad term to describe a communication layer that may perform many types of functions. Since there is no industry-standardized ESB form or protocol, its specific functionalities differ from iteration to iteration. ESBs redirect traffic, optimize network performance, handle security compliances, or handle other business requirements. An ESB is different than point-to-point integration, as it decouples code from one another, avoiding tight dependencies. Providing a layer in between for all services to integrate with also helps keep an ecosystem platform-agnostic for different application types and programming languages. ESBs are used in large companies to integrate numerous components. Mulesoft, Oracle, IBM, or TIBCO are examples of companies that offer commercial ESB platforms.