Con un Enterprise Service Bus (ESB), puede maximizar la flexibilidad de una SOA. Los participantes de una interacción de servicio se conectan al ESB en lugar de conectarse directamente entre sí.
Cuando un solicitante de servicios se conecta al ESB, el ESB es responsable de entregar sus solicitudes, mediante mensajes, a un proveedor de servicios que ofrezca la función y la calidad de servicio necesarias. El ESB facilita las interacciones entre solicitante y proveedor, y direcciona los protocolos no coincidentes, los patrones de interacción o las posibilidades de servicio. Un ESB también puede habilitar o mejorar la supervisión y la gestión. El ESB proporciona las características de virtualización y gestión que implementan y amplían las posibilidades principales de la SOA.
Interponer el ESB entre los participantes permite modular su interacción a través de un constructor lógico que se conoce como mediación. Las mediaciones operan en mensajes que se encuentran de camino entre los solicitantes y los proveedores. Por ejemplo, pueden utilizarse mediaciones para encontrar servicios con características específicas que pida un solicitante, o para resolver las diferencias de interfaz entre solicitantes y proveedores. En el caso de las interacciones complejas, pueden encadenarse mediaciones secuencialmente.
Un Enterprise Service Bus ofrece una infraestructura de comunicación común que puede utilizarse para conectar servicios y, por consiguiente, las funciones de empresa funciones que representan, sin que los programadores deban escribir ni realizar el mantenimiento de una lógica de conexión compleja.
Un Enterprise Service Bus proporciona un método coherente y basado en estándares para integrar funciones de empresa que utilizan distintos estándares de TI. Esto permite la integración de funciones de empresa que generalmente no pueden comunicarse, como por ejemplo, para conectar aplicaciones de silos de departamento o para permitir que aplicaciones de distintas compañías participen en interacciones de servicios.
Un Enterprise Service Bus permite que las funciones de empresa intercambien información en distintos formatos; el bus garantiza que la información que se entrega a la función de empresa tenga el formato necesario para la aplicación.
Un Enterprise Service Bus da soporte a interacciones basadas en sucesos además de los intercambios de mensajes para gestionar solicitudes de servicios.
El Enterprise Service Bus le permite centrarse en los aspectos principales de la empresa, y no en la TI. Puede modificar o añadir servicios cuando sea necesario; por ejemplo, para responder a cambios en los requisitos de la empresa, para añadir más capacidad de servicio o para añadir nuevas posibilidades. Los cambios se realizan configurando de nuevo el bus, sin que ello afecte en absoluto, o con un efecto insignificante, a los servicios y las aplicaciones existentes que utilizan dicho bus.