Sonic ESB: integración programable

La presión para integrar sistemas dispares en toda la empresa aumenta constantemente, pero establecer conexiones entre sistemas, incluso aquellos diseñados para la integración, sigue siendo una tarea abrumadora.

Tradicionalmente, las empresas conectaban sistemas mediante enlaces punto a punto y código personalizado. Más recientemente, los intermediarios de integración, software propietario para crear conexiones entre múltiples sistemas, surgieron como otra solución. Sin embargo, las conexiones de punto a punto son caras de mantener y los intermediarios de integración han sido caros de comprar. 

Sonic ESB es uno de un nuevo conjunto de productos facturados como buses de servicio empresarial (ESB), intermediarios de integración livianos basados ​​en estándares como XML y SOAP diseñados para funcionar en un entorno distribuido.

Para las empresas que buscan adoptar un enfoque incremental para la integración de aplicaciones empresariales, los ESB serán extremadamente útiles. Con el modelo de bus, se pueden integrar primero algunas aplicaciones con el mayor retorno de inversión; otras aplicaciones se pueden incorporar más adelante a medida que se disponga de dinero y recursos. Debido a que las barreras de entrada son bajas, estos proyectos de integración pueden comenzar pequeños, administrarse de cerca y crecer para satisfacer las necesidades futuras.

Sonic ESB 5.0 se esfuerza por ofrecer estos beneficios, combinando mensajería, enrutamiento, servicios web y transformación de mensajes para integrar y orquestar las acciones de múltiples terminales de aplicaciones de Internet.

Observando la arquitectura ESB de Sonic

Un intermediario de integración típico tiene una arquitectura de concentrador y radio. Sonic ESB, por otro lado, está construido sobre el producto middleware orientado a mensajes de Sonic Software, SonicMQ, un proveedor de JMS (Java Message Service) para servidores de aplicaciones J2EE. SonicMQ proporciona a Sonic ESB administración de configuración y tiempo de ejecución, agentes de mensajería y contenedores administrados. Las interacciones entre SonicMQ y ESB son tan finas y completas que no es de extrañar que Sonic Software se refiera a ellas como una suite.

Debido a que Sonic ESB se basa en una infraestructura de mensajería, su arquitectura de bus se puede distribuir a través de la LAN corporativa o Internet global. Los nodos de mensajería se pueden instalar en clústeres en varias máquinas para mayor confiabilidad, y estos clústeres se pueden federar con clústeres en otras ubicaciones para proporcionar puntos de integración remotos.

Además, un administrador de dominio está integrado con el sistema y sirve como directorio para los servicios implementados en la red.

Los contenedores administran los puntos finales, que luego administran el ciclo de vida de los servicios que brindan enrutamiento, orquestación del flujo de procesos, transformación de datos y seguridad. Estos contenedores también adaptan los puntos finales a los sistemas heredados. Por ejemplo, hay disponible un adaptador J2EE para conectar sistemas basados ​​en J2EE al bus. Los contenedores de servicios generalmente se alojan por separado de los servidores de mensajería, y cada uno de ellos se ubica junto con el sistema heredado al que sirve.

Los mensajes se enrutan a sí mismos utilizando un itinerario adjunto creado a través de la consola de administración. El enrutamiento basado en contenido se realiza dentro de los servicios de punto final utilizando XPath para ver los documentos XML adjuntos y el enrutamiento condicional según el contenido del documento. El servicio de transformación utiliza XSLT (Transformación de lenguaje de estilo extensible). El producto Stylus de Sonic Software crea gráficamente documentos XSLT que se transforman de un esquema XML a otro, pero cualquier otra herramienta XSLT también funcionará.

Buscando al arquitecto de integración

Cuando estaba en segundo grado, un niño de mi clase trajo un juguete electrónico que te permitía construir una radio y otros dispositivos electrónicos simples siguiendo los esquemas provistos y haciendo clic en los bloques. Mientras revisaba Sonic ESB, no pude evitar pensar en programas que se pueden unir mientras manipulaba su configuración a través de la consola de administración basada en GUI.

Aunque gran parte de lo que está haciendo cuando configura Sonic ESB es simplemente manipular archivos de configuración, el resultado final es un proceso que manipula datos. Esto es más que una simple configuración basada en políticas: esto es programación.

La programación de Sonic ESB no se realiza con una notación unificada, sino que implica escribir fragmentos de Java y JavaScript junto con XSLT, esquemas XML y archivos WSDL. Varias herramientas gráficas diferentes organizan todos estos en una configuración general que produce el enrutamiento y el servicio correctos para el resultado deseado. 

Sonic Software proporciona un ejemplo completo de una cadena de suministro en la guía de introducción. Trabajar con ese ejemplo lo pondrá al día sobre los principales modos de interacción de ESB y lo familiarizará con los conceptos y herramientas de administración necesarios para configurar y usar el bus.

A medida que avanzaba en el proceso de configuración, me sorprendió lo difícil que era realizar un seguimiento de todas las diferentes partes, lo que hacían y cómo encajaban. Las consolas de administración de Sonic ESB son tan buenas como he visto. Pero no son entornos de programación, solo ofrecen un soporte rudimentario para la abstracción. Por ejemplo, el flujo de proceso permite nombrar e incrustar, pero cosas tan importantes como el flujo condicional están ocultas en archivos JavaScript y XSLT.

Los múltiples formatos (Java, JavaScript, XSL, esquema XML, etc.) que describen el proceso y los datos son una carga adicional. Entonces, aunque el uso de Sonic ESB es un acto de programación, es un producto construido alrededor de un grupo de tecnologías en lugar de una sola notación bien diseñada.

Eso no es necesariamente culpa de Sonic Software. Están trabajando con las herramientas que les exigen las tecnologías y los estándares que exigen sus clientes. Dudo que Sonic Software pueda impulsar la adopción de una notación más uniforme.

Debido a que no se dispone de una notación uniforme, existen pocas señales visuales para comprender el flujo de mensajes, las condiciones de error y las transformaciones de datos. De hecho, sin las imágenes y la descripción contenidas en la guía de introducción, habría sido difícil comprender el flujo de mensajes en el ejemplo de cadena de suministro proporcionado. Me di cuenta de que, al revés, la guía de introducción era en realidad la arquitectura del sistema; Es probable que las imágenes y descripciones de la guía sean las mismas que usaron los desarrolladores del ejemplo mientras lo estaban creando.

El uso exitoso de productos como Sonic ESB requerirá ese mismo tipo de planificación cuidadosa por parte de los desarrolladores que actúan como "arquitectos de integración". Las herramientas, técnicas y metodologías de modelado disponibles para los arquitectos de integración son aún rudimentarias, pero Sonic ESB proporciona un conjunto completo de herramientas necesarias para implementar la integración una vez que se ha planificado.

Flexibilidad a un precio

Sonic ESB, combinado con SonicMQ, proporciona un método basado en estándares para integrar aplicaciones nuevas y heredadas de toda la empresa de una manera confiable y rentable. La integración de un conjunto de sistemas con Sonic ESB debería costar menos que el uso de agentes de integración propietarios.

Cuando revisamos SonicXQ, el predecesor de Sonic ESB, llegamos a la conclusión de que “SonicXQ proporciona a los desarrolladores un conjunto sólido de servicios BPM (gestión de procesos de negocio) seguros y confiables” (consulte “Mantener BPM en el buen camino”, 30 de septiembre, página 26).

Eso no ha cambiado. Pero mientras que las herramientas de administración han mejorado mucho, Sonic ESB 5.0 a menudo requiere una configuración compleja. Hacer que funcione requiere una habilidad considerable en tecnologías como J2EE, middleware orientado a mensajería, XML, XSLT, XPath, JavaScript y Java.

Este es el precio de la flexibilidad. Algunas herramientas tienen como objetivo la facilidad de uso e incluso se jactan de que los empresarios pueden utilizarlas para gestionar los procesos empresariales. Pero ninguno de ellos ofrece la flexibilidad necesaria para una integración completa del sistema. SonicESB ofrece esa flexibilidad, pero solo si tiene desarrolladores y arquitectos de integración para aprovecharla.

Tanteador Manejabilidad (15,0%) Facilidad de uso (10,0%) Soporte (10.0%) Escalabilidad (25,0%) Interoperabilidad (25,0%) Fiabilidad (15,0%) Puntaje general (100%)
Sonic ESB 5.0 5,0 6.0 7.0 9.0 9.0 9.0 7,9