Ordenando el paradigma mediante un ESB

abril 7, 2012

Categories: AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology

Si bien SOA nos proporciona la posibilidad de definir diferentes servicios independientes que interactúen entre si, esta interacción se realiza punto a punto, lo cual implica un alto grado de acoplamiento entre ellos. En caso de producirse un cambio en la definición de algún servicio, por mínimo que sea, va a generar un impacto importante en sus consumidores. Por otro lado, a medida que la complejidad de los sistemas iba aumentando y las integraciones punto a punto se sucedían, se evidenciaba la necesidad de poder mantenerlas controladas y administradas, es por eso que surgieron diferentes opciones para cumplir con estos objetivos, entre ellos, el más popular hoy en día, el ESB.

¿A que llamamos ESB?
Podemos definir a un Enterprise Service Bus o Message Broker como una arquitectura de diseño que plantea el desacoplamiento de los mensajes, estableciendo una infraestructura que permita minimizar la lógica de integración y brindando un servicio de mensajería disponible a través de diferentes protocolos de transporte, como pueden ser http, jms, mq, ftp, smtp, etc. También nos facilita la tarea de configurar métodos de enrutamiento complejos, contando además con la posibilidad de realizar transformaciones y enriquecimientos de mensajes.

Entonces, lo que sin un ESB sería una infinidad de comunicaciones punto a punto entre diferentes servicios, con la implementación de un ESB quedaría una estructura como la siguiente:

soa_2

En conclusión, un ESB es un intermediario que procesa los mensajes de invocación, determina la lógica de ruteo a implementar y transforma los mensajes para lograr la compatibilidad con otros servicios consumidores. Recibe los mensajes a través de un protocolo de transporte y los envía transformados y enriquecidos a través del mismo protocolo o uno diferente. La respuesta a dicha invocación se procesa siguiendo el camino inverso.

Puntos destacados de un ESB:

- Capacidad para transformar y enriquecer mensajes.
- Balanceo de carga entre diferentes servidores.
- Habilidad para rutear mensajes.
- Posibilidad de transferir funciones de mensajería hacia otro servidor en caso de fallo de uno de ellos.

ESB existentes en el mercado

Existe una amplia gama de productos ESB en el mercado de los cuales podemos destacar los siguientes:
- Aqualogic Service Bus (http://download.oracle.com/docs/cd/E13171_01/alsb/docs30/index.html)
- Sonic ESB (http://web.progress.com/en/sonic/sonic-esb.html)
- Apache ServiceMIX (http://servicemix.apache.org/home.html)
- JBoss ESB (http://www.jboss.org/jbossesb)
- Mule (http://www.mulesoft.org/)
- JBI - Java Business Integration (http://www.jcp.org/en/jsr/detail?id=312)

 

 

 

Top Insights

Ciclos de vida BPM

Ciclos de vida BPM

AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Criterios de Aceptación

Criterios de Aceptación

AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Escribiendo User Stories en Agile

Escribiendo User Stories en Agile

AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
What is TM Forum Frameworx and how to apply it to your business?

What is TM Forum Frameworx and how to...

UncategorizedAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Impact Mapping en Metodologías ágiles

Impact Mapping en Metodologías ágiles

AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology

Top Authors

Axel Salmeron

Axel Salmeron

Sr Developer

Nicolas Cieri

Nicolas Cieri

Solution Architect

Alvaro Soria

Alvaro Soria

Solution Architect

Sergio Fiorillo

Sergio Fiorillo

Engineering Manager

Pablo Alvarez

Pablo Alvarez

Delivery Director, Finance & Commerce

Blog Categories

  • URL copied!