Enterprise service bus

Es un componente fundamental de la arquitectura orientada a servicios (del inglés Service-Oriented Architecture o SOA).

Si bien es cierto que la utilización de un ESB implica ciertamente ajustarse a una arquitectura determinada, casi siempre se refiere a la infraestructura de software que hace posible tal arquitectura y, en esencia, se considera al ESB como una plataforma para realizar una arquitectura orientada a los servicios.

Con esto se consigue flexibilidad en la capa de abstracción y una fácil conexión entre los servicios.

En una arquitectura tan compleja, el ESB representa el elemento de software que media entre las aplicaciones empresariales y permite la comunicación entre ellas.

Idealmente el ESB tendría que ser capaz de sustituir todo contacto directo con las aplicaciones en el bus, de modo que toda la comunicación tenga lugar a través del bus.

A menudo sucede que, como esa aplicación se ha desarrollado sin el mismo modelo de mensajes, el ESB tendrá que transformar el mensaje a un formato de compatibilidad (legacy format) que la aplicación sea capaz de interpretar.

No existe consenso en si se debe considerar un ESB como un producto tangible o como un estilo de arquitectura y cómo debe implementarse exactamente un ESB (por ejemplo, centralizado (broker o hub) o descentralizado (endpoints inteligentes)).

ESB