Un ESB (Enterprise Service Bus) es un middleware que permite la interoperabilidad entre distintos ambientes de ejecución utilizando el modelo de orientación a servicios. Un ESB modela las aplicaciones como servicios y provee una capa de abstracción que virtualiza los servicios. Un ESB brinda servicios a otras aplicaciones a través de protocolos como SOAP y provee funcionalidades como el switching de protocolos, transformación de mensajes, autenticación centralizada y monitoreo centralizado.