jueves, 10 de junio de 2010

Enterprise Service Bus

A raíz de un trabajo del Máster que estoy realizando surge el artículo de hoy, que sirve como introducción a otro término que se ha abierto hueco en el vocabulario informático. Lo que ocurre con este y muchos otros términos (como framework, componente, etc.), es que se ponen de moda y empiezan a usarse para prácticamente todo, y a colarse en todas las presentaciones de marketing, sin que quede claro cuál es su significado real.

Comenzando por lo más básico: ESB = Enterprise Service Bus = Bus de Servicio Empresarial.

....

Efectivamente, el nombre no es que diga mucho, pero el concepto hace referencia a un paso más en las tecnologías de integración de aplicaciones. En este ámbito se partió del punto a punto, en el que era necesario que las aplicaciones a conectar utilizasen la misma tecnología y que su ubicación fuese conocida. De ahí se evolucionó hacia los middlewares, que ofrecían un registro centralizado, pero mantenían una alta dependencia tecnológica. Un paso más se dio con los Hubs de Integración, que sí ofrecían esta independencia, y la posibilidad de definir procesos de integración, pero que no dejaban de ser un middleware mejorado...

Y ahí aparecen los maravillosos ESBs. Se establecen estándares W3C, se proveen conversores de protocolos, lenguajes de orquestación, abstracción de la tecnología... Y un montón más de ideas súper interesantes.

Pero... ¿qué significa todo esto? Pues resumiendo, que un ESB es una herramienta que nos ofrece la posibilidad de comunicar elementos de software de distintas tecnologías (conocidos como assets, o activos). Dentro de una compañía es normal tener bases de datos, un servidor de correo, servicios Web, ficheros xml, y un sinfín de unidades cuya interacción es deseable.

El ESB pretende evitarnos el trabajo de tener que realizar los desarrollos para esta integración, aportando básicamente tres elementos.
  • Bindings Componentes - que nos abstraen de las diferentes tecnologías (bases de datos, ficheros, servicios Web...), permitiéndonos acceder a ellas.
  • Orquestador de servicios - que nos permite definir la forma en que se llevará a cabo la interacción entre nuestros assets.
  • Service Engines - que nos abstraen del servidor de aplicaciones en el que están desplegados los distintos elementos.
Todo esto ha sido recogido en una especificación de la JCP, bajo el nombre de JBI (Java Business Integration). Actualmente existen dos versiones, en las JSR 208 y 312, respectivamente.

Como conclusión habría que decir que la idea detrás de los ESB es realmente interesante, pero que en realidad hay demasiada palabrería alrededor de ella, y que queda mucho por hacer para llevarla a cabo.

En cualquier caso, para ver la idea, en los próximos días intentaré publicar un pequeño tutorial para realizar un proceso de integración. Esa es la mejor forma de comprender qué son y para qué sirven los ESBs.

No hay comentarios:

Publicar un comentario

Cualquier aportación será bienvenida