domingo, 11 de marzo de 2012

Porque utilizar ESB?


En arquitectura SOA el software se ve como funcionalidad colgada en una rul la cual se organiza para solucionar una necesidad del negocio.
Por ejemplo tenemos organizado 4 modulos los cuales se interrelacionan esto se veria de la siguiente forma:




Por que no poner un software que mantenga las rutas de comunicación sería como un router de nuestros servicios.



Se ve mejor no? Ese software que se encuentra en el medio de las comunicaciones de mis servicios es un ESB.



Ahora bien si un servicio expone su funcionalidad con SOAP otro con REST otro con RMI, otro con JMS etc. tengo que escribir mucho código de traducción para poder comunicar servicios. Ya se pongamos esta traducción en el ESB de esta forma el centraliza las traducciones y reutiliza ese código para comunicara diferentes servicios.



De esta forma el ESB nos permite comunicar diferentes piezas de software que se expresan de forma diferente. Ojo esto no es una funcionalidad que tengan todos los ESB por ejemplo Apache Synapsis no la trae. Pero la gran mayoría si.



En resumen esto es un ESB.