Service, el hijo prodigo de SOA

agosto 21, 2012

share

Archived

Los cambios de paradigma en IT no surgen porque sí. Siempre hay detrás una implícita necesidad de la comunidad, que empuja a cambios y desafíos. En el caso de SOA, la revolución vino de la mano de posicionar a los servicios web como elementos de primera categoría, considerando como máxima prioridad su funcionamiento y calidad.

La definición canónica de un servicio web es: un sistema de software diseñado para manejar la comunicación e interacción entre dos o más artefactos a través de una red.
Cuando surgen lo servicios web a mediados de los ‘90, la regla de negocio más deseada era integrar distintas funcionalidades, pero estaba lejos de ser una tarea sencilla. Muchas compañías se habían inclinado por el lema “comprar y no construir”, por lo que estaban provistos de excelentes productos “enlatados”, pero el esfuerzo de combinarlos era excesivo en recursos (tanto económicos como humanos). Estos productos se manejaban en una vasta heterogeneidad de plataformas, lenguajes y tecnologías.

Es en este marco donde los servicios web hicieron la diferencia: aprovechando la maduración de la comunicación sobre Internet basada en el uso de estándares como XML, SOAP o HTTP, el cambio de paradigma fue exponer las funcionalidades sobre la red para luego conectarlas, dejando atrás problemas de integración.

JMS o MQ
Si se desea que la utilización de servicios web se traduzca en un impacto positivo sobre los negocios y productos, es fundamental que el protocolo de comunicación sea robusto y confiable. Los mensajes deben llegar, no deben perderse, y deben sincronizarse de manera correcta y eficiente. Entre las alternativas que están marcando tendencia podemos mencionar JMS (Java Message Service) o MQ (la solución de IBM para el intercambio de mensajes middleware).

JMS abre la posibilidad para una arquitectura de servicios confiable, escalable, segura, y con mínimo acoplamiento, ya que su tecnología permite desacoplar la interacción entre las aplicaciones y los servicios web. Si bien descrito de esta manera JMS suene tentador, es importante tener en cuenta dos condiciones para que su aplicación sea exitosa. En primer lugar, debe insertarse en un contexto de intercambio de mensajes con alto grado de distribución; en segundo, los procesos “consumidores” de la información
deben ser más lentos que los procesos “productores” de la información. Sin estas dos condiciones, la indirección que logra la tecnología JMS pierde fuerza y potencialidad.

Mientras tanto, las series MQ de IBM permiten el intercambio seguro de mensajes basados en el concepto de colas. Nuevamente, delegar la distribución de los mensajes, ya sean sincrónicos o asincrónicos, permite reducir al mínimo el acoplamiento entre los procesos. En este punto vale la pena mencionar la herramienta WebSphere MQ, una de las más empleadas en la actualidad.

Todo este cambio de paradigma converge al nacimiento de las arquitecturas SOA. Una arquitectura de este tipo provee el soporte y entorno adecuado para la integración de servicios sobre distintas plataformas, tecnologías y canales de comunicación. Todas las mejoras de este tiempo sobre los protocolos de comunicación han hecho evolucionar positivamente las soluciones SOA, constituyéndose en una atractiva alternativa para el desarrollo de productos de software de alta calidad.