ESB en la nube

En este momento, parece que todas las siglas del mundillo acaban en aaS “as a service”… de las clásicas de IaaS o PaaS, tenemos cosas tales como “Mobile Backend as a Service”, “Test as a service”… y no podía faltar Enterprise Integration Platform as a Service. Y para que algo tome carta de naturaleza, no hay nada como el preceptivo informe de Gardner… y ya lo tenemos, es este. En resumen, IPaaS trata de proporcionar  lo que tradicionalmente se veía instalado en la infraestructura de la empresa (on premise). Una combinación entre lo que ofrece un ESB:

  1. Soporte y conexión entre diferentes protocolos y estilos de mensajes
  2. Transformación de datos y mapeado de los mismos
  3. Enrutado y orquestación
  4. Toolkits para el desarrollador
  5. Herramientas de manejo del ciclo de vida de la aplicación
  6. Administración y monitorización
  7. etc.

Para subir a la nube se necesitan servicios en la empresa

Lo que está claro es que si queremos utilizar una solucion de este tipo, una plataforma de integración en la nube, tendremos que tener algo en el lado de la empresa (lo que se queda en “casa”) para que podamos conectarla con el bus que está fuera… y ese “algo” son servicios…

Si nos fijamos en lo que prometen, todas las soluciones basadas en ESB son capaces de conectar con cualquier cosa en el backend de la empresa y publicarlo como servicio. Como siempre, esta clase de “promesas” hay que revisarlas con mucho cuidado y con un sano escepticismo. No hay que olvidar que este tipo de conectores se basan en estándares, y por desgracia, en las empresas (sobre todo si llevan muchos años) los estándares suelen brillar por su ausencia. En su lugar, en muchos casos, se basan en soluciones propietarias.

Así pues, nos vamos a encontrar con muchos problemas para poder invocar a las lógicas de negocio de la empresa desde la nube… claro que también nos encontraremos con estos problemas si quisierámos invocarlos desde otra aplicación de la misma empresa.

En definitiva, si estamos pensando en una solución basada en la nube, yo diría que el primer paso es revisar si seremos capaces de proporcionar servicios de negocio que puedan ser “conectados” por el ESB.

También surgen otros posibles problemas para la conexión con la nube, aparte por supuesto, del cambio cultural para la T.I. que supone poner sus procesos o servicios en una “nube” que está fuera de sus instalaciones.

Me refiero, por ejemplo a la seguridad y al trasvase de información entre la nube y la empresa. Es necesario que la información de los roles, usuarios y credenciales de seguridad estén disponibles para la plataforma de integración en la nube. Una solución bastante común es conectar o “federar” el repositorio (directorio activo) de la empresa con el de la nube de manera segura.