¿Qué es BUS ESB? Un ESB, o bus de servicio empresarial, es un patrón mediante el cual un componente de software centralizado realiza integraciones a sistemas de backend (y traducciones de modelos de datos, conectividad profunda, direccionamiento y solicitudes) y hace que esas integraciones y traducciones estén disponibles como interfaces de servicio para reutilizarse en nuevas aplicaciones. El patrón ESB generalmente se implementa en un entorno de ejecución de integración especialmente diseñada y un conjunto de herramientas que garantizan la mejor productividad posible.
Un ESB es un como Los desarrolladores pueden usar un solo protocolo para
"hablar" con el ESB y emitir comandos que dirijan las interacciones entre los servicios y dejar que el ESB traduzca los comandos, direccione los mensajes y transforme los datos según sea necesario para ejecutar los comandos. Esto permitiría a los desarrolladores pasar mucho menos tiempo integrando y mucho más tiempo configurando y mejorando sus aplicaciones. Y, la capacidad de reutilizar estas integraciones de un proyecto a otro ofrece el potencial para mayores ganancias y ahorros de productividad en todos los niveles.Onente esencial de SOA, o arquitectura orientada a servicios, una arquitectura que surgió a finales de la década de 1990. SOA define una forma de hacer que los componentes de software sean reutilizables mediante interfaces de servicio. Estas interfaces utilizan estándares de comunicación comunes entre sí, de tal manera que pueden incorporarse rápidamente a nuevas aplicaciones sin tener que realizar una integración profunda cada vez.
En teoría, un ESB centralizado podría ofrecer la capacidad de estandarizar, y
simplificar drásticamente, tanto la comunicación como la integración de servicios en toda la empresa. Los costos de hardware y software se pueden compartir, el suministro de los servidores solo se tiene que realizar una vez, y un único equipo de especialistas puede ser el encargado (y, si es necesario, capacitado) de desarrollar y mantener las integraciones.
ESB se implementaron con éxito en muchas organizaciones, en muchas otras
organizaciones el ESB se convirtió en el cuello de botella en la implementación de SOA. Realizar cambios o mejoras en una integración generalmente desestabilizaban a otras. Las actualizaciones del middleware de ESB a menudo afectaban a las integraciones existentes. Debido a que el ESB se gestionaba de forma centralizada, los equipos de aplicaciones pronto se encontraban a la espera de sus integraciones. A medida que el volumen de integraciones aumentó, la implementación de alta disponibilidad y la recuperación de desastres para los servidores ESB se volvió más costosa. Y, como un proyecto entre empresas, el ESB resultó difícil de financiar, lo que hizo que estos desafíos técnicos fueran mucho más difíciles de resolver.
ESB frente a microservicios
La arquitectura de microservicios permite que los elementos internos de una sola
aplicación se desglosen en pequeñas piezas que se pueden intercambiar, escalar y administrar de forma independiente. Los microservicios surgieron y ganaron fuerza con el aumento de la virtualización, la computación en la nube, las prácticas de desarrollo Agile y DevOps. En estos contextos, los microservicios ofrecen lo siguiente:
Mayor agilidad y productividad de los desarrolladores, al permitirles
incorporar nuevas tecnologías en una parte de una aplicación sin tocar el resto de la aplicación.
Escalabilidad más sencilla y rentable, porque permiten que cualquier
componente se escale independientemente de otros. De esta manera, se garantiza la respuesta más rápida posible a las demandas de carga de trabajo y el uso más eficiente de los recursos informáticos.
Mayor resiliencia, debido a que la anomalía de un componente no afecta a
los demás, y cada microservicio puede realizar sus propios requisitos de disponibilidad sin estancar a los demás componentes a un requisito de 'mayor disponibilidad común'.
Para qué sirve un ESB
El Bus de Servicios Empresariales (ESB) debe ser lo bastante robusto como para
que permita administrar los cambios en los requerimientos sin que esto suponga en los servicios ya instalados incidencia alguna. Sistema de eventos e infraestructura deben ser capaces de conectar cualquier recurso de TI con independencia de qué tecnología emplee éste.
Máxima seguridad. Autenticación, autorización, y funcionalidad de
encriptación se proveen a través del Como hemos comentado, este proporciona autenticación, autorización y encriptación tanto para los mensajes entrantes como para los mensajes salientes, lo que hace que se cumplan los requisitos de seguridad que pide el proveedor del servicio. Mejora y ruteo del mensaje. El ESB ofrece una interesante funcionalidad de añadido de información para aquellos mensajes a los que les falte una parte. Mediante el ruteo establece el destino de los mensajes que entran.
Plataforma central. Gracias al ESB se logra la comunicación con una
aplicación sin necesidad de ligar al receptor del mensaje con el que lo envía. En otras palabras, desliga al consumidor de la ubicación del proveedor de ese servicio.
Para que el ESB sea seguro y ofrezca un desempeño elevado el monitoreo
y la administración son básicos. También permite controlar el flujo de mensajes y monitorizar su ejecución. Es la forma más eficiente de identificar los mensajes y las rutas entre los servicios.
El ESB integra por medio de FTP, HTTPs, JMS, TCP o SMTP, entre otros protocolos de transporte, y lo hace de modo transparente.
Conversión del mensaje. La transformación es una de las funciones más
destacadas de un ESB, con el que se pueden convertir mensajes de un formato hasta otro con estándares como XPath y XSLT.
Además de ensamblar servicios y combinarlos, un ESB debe facilitar la conexión
de servicios web, nuevas aplicaciones y otro tipo de aplicaciones. Ejemplo de éstas últimas son el legacy middleware a través de adaptadores, los archivos batch o las aplicaciones LOB (Line of Business).