-
-
-
-
URL copied!
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.
Top Insights
Escribiendo User Stories en Agile
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyWhat is TM Forum Frameworx and how to...
UncategorizedAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyImpact Mapping en Metodologías ágiles
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyTop Authors
Blog Categories
Trabajemos juntos
Contenido Relacionado
5 razones por las que tu proyecto necesita un Business Analyst
Contar con un Business Analyst (BA) en tu equipo no solo te ayudará a delegar tareas más operativas, sino que también potenciará al equipo de desarrollo y contribuirá significativamente al éxito de tu proyecto de desarrollo de software.
Conocer más
7 claves para ser un miembro de un equipo efectivo
Un gran desarrollador necesita trabajar tanto en sus habilidades técnicas como en sus habilidades blandas, ya que estas forman la base para cualquier profesional que quiera ser una pieza efectiva e inspirar un cambio positivo en su equipo y organización. He recopilado una serie de recomendaciones que considero básicas y de vital importancia para trabajar … Continue reading Service, el hijo prodigo de SOA →
Conocer más
Share this page:
-
-
-
-
URL copied!