Existen más de 40 productos denominados como ESBs tanto comerciales como de código abierto. Desafortunadamente no existe una definición común entre los proveedores y el término puede causar confusión.
Muchas personas asocian a un ESB con los siguientes términos;
- MOM
- SOA
- EDA
- BPEL
- SCA
- Application Server
Aunque un ESB puede estar asociado a estos conceptos, la función principal en una infraestructura tipo SOA es actuar como una plataforma de servicios, es decir como registro y administración de servicios.
Por el momento me quedo con la definición de Anne Thomas Mannes extraída de un artículo de Burton Group llamado “Enterprise Service Bus: A definition”:
An enterprise service bus (ESB) is a middleware solution that enables interoperability among heterogeneous environments using a service-oriented model. Although frequently associated with concepts like “integration” and “mediation,” an ESB also provides a service platform comparable to an application server. In fact, ESBs represent the consolidation of the integration and application server product categories. An ESB’s true breakthrough feature is its ability to virtualize services. An ESB’s service container abstracts a service and insulates it from its protocols, invocation methods, method exchange patterns, quality of service requirements, and other infrastructure concerns.