Enable javascript in your browser for better experience. Need to know to enable it? Go here.

Aprovechando la IA generativa para modernizar la integración de sistemas empresariales

Las integraciones de sistemas son una parte esencial de cualquier plataforma empresarial. Si no se sigue la debida diligencia, la lógica del negocio puede filtrarse fácilmente en la capa de integración. Esto puede resultar en una arquitectura de sistema deficiente, lo que hace más difícil su mantenimiento e implementación de futuras necesidades.

 

Existen varias maneras de abordar este problema, pero un método particularmente interesante es el uso de la IA generativa. Esto puede sonar sorprendente, dada la novedad de la tecnología, sin mencionar los desafíos bien documentados sobre la precisión y las alucinaciones, pero con el enfoque adecuado y la supervisión humana apropiada, puede ser muy efectivo.

 

Específicamente, se recomienda un enfoque en dos pasos:

  • En el primer paso, analizamos el código heredado para entender y extraer la lógica de negocio del sistema.
  • En el segundo paso, utilizamos ese análisis para generar el código en la tecnología deseada usando la herramienta de IA generativa.

 

El código generado se revisa y refactoriza manualmente para dejarlo listo para producción.

Marco para la modernización del código heredado

Poniéndolo en práctica

 

Para demostrar cómo funciona, aplicamos este enfoque a una integración de aplicaciones basada en SOA para modernizar un sistema heredado construido con Tibco BW (Business Works). Tibco BW es una de las varias soluciones utilizadas para integrar flujos de trabajo empresariales que abarcan varios subsistemas de la plataforma empresarial.

 

Existen múltiples razones para alejarse de este sistema heredado, entre ellas:

  • Mucha redundancia de código dentro de la aplicación sin reutilización.
  • Una arquitectura de sistema compleja que es difícil de mantener y adaptar a las necesidades cambiantes del negocio.
  • Costos de licenciamiento involucrados en las renovaciones periódicas (~$400-$1500 mensuales por la suscripción a Tibco Cloud Integration).

 

Al usar IA generativa en el proceso de dos pasos descrito anteriormente, pudimos modernizar los flujos de trabajo de Tibco BW, migrándolos a una arquitectura basada en microservicios. Cuando un sistema empresarial típico contiene cientos o incluso miles de flujos de trabajo de integración, el valor de la IA generativa debería ser evidente: puede manejar la modernización a una escala que sería increíblemente difícil de hacer manualmente.

Diagrama de arquitectura

Paso uno: Analizando flujos de trabajo heredados

 

Para analizar el flujo de trabajo, pasamos un archivo XML de Tibco BW a través de la herramienta basada en IA generativa. El equipo técnico comparó la salida de la herramienta con la implementación del flujo de trabajo y determinó que el análisis fue preciso.

 

Paso dos: Generando nuevo código

 

Luego, el análisis se pasó de nuevo por la herramienta, esta vez para generar el código y las pruebas necesarias en Spring Boot. Con una revisión rápida del código desde una perspectiva de diseño e implementación, y con una pequeña cantidad de refactorización por parte del equipo de desarrollo, pudimos analizar y modernizar rápidamente todo el flujo de trabajo. Según la experiencia del equipo utilizando un enfoque convencional para modernizar el flujo de trabajo y comparándolo con el enfoque basado en IA generativa, se concluyó que el enfoque basado en IA generativa nos ayudó a ahorrar aproximadamente un 60% en los esfuerzos de análisis y desarrollo. Esto implica que el enfoque de modernización de código basado en IA generativa resultaría en un ahorro significativo de esfuerzo, particularmente en el análisis y desarrollo de código.

Proceso de flujo

Es importante señalar que este proceso no fue completamente fluido. Hubo algunos desafíos que debimos abordar al usar la IA generativa:

  1. La salida de la herramienta basada en IA generativa necesita ser refinada continuamente, ajustando el prompt dado para mejorar la precisión.
  2. La salida de la herramienta de IA generativa debe revisarse, mejorarse y refactorizarse adecuadamente antes de fusionarse con la rama principal.
  3. El modelo GPT-4 tiene un límite de entre 8K o 32K tokens, incluyendo el prompt. Tuvimos que planificar que aproximadamente el 20% del trabajo se realizaría utilizando otro enfoque, como dividir el XML en partes más pequeñas o refactorizar el flujo de trabajo manualmente desde cero.
  4. Debido a problemas de cumplimiento y propiedad intelectual, el código existente no podía salir del entorno organizacional. Para abordar esto, alojamos un modelo GPT-4 dedicado en la infraestructura de la organización.

 

Para grandes empresas, el volumen de flujos de integración y el esfuerzo de implementación requerido pueden convertirse en los mayores obstáculos. Es por eso que las herramientas basadas en IA generativa pueden ser de gran ayuda.

 

Aquí están los puntos clave que creo que otros pueden aprender de nuestra experiencia:

 

  • Las herramientas basadas en IA generativa pueden ayudar a analizar rápidamente el código de aplicaciones heredadas escritas en lenguajes/herramientas antiguos con buena precisión.
  • Utilizar IA generativa en una iniciativa de modernización de sistemas heredados puede acelerar el análisis y reducir el esfuerzo necesario para refactorizar o escribir nuevo código.
  • También puedes usar la herramienta para construir una red de seguridad, compuesta por pruebas unitarias y de integración, en la base de código modernizada.

 

Aunque usamos este marco para modernizar flujos de trabajo de Tibco BW, vale la pena señalar que también se puede utilizar para modernizar código escrito en otros lenguajes y marcos. Por ejemplo, este marco podría utilizarse para:

 

  • Modernizar flujos de integración construidos con Mule ESB.
  • Analizar y modernizar código implementado con tecnologías antiguas como COBOL en mainframes.
  • Analizar código escrito en stacks antiguos como Fortran y JAX-WS.
  • Y mucho más...

 

Modernizar una aplicación construida en una pila heredada puede ser muy desafiante. Esto a veces desanima a las organizaciones de llevarlo a cabo, incluso cuando la modernización podría ofrecer un valor sustancial. Afortunadamente, las herramientas basadas en IA generativa pueden ayudar a que estos desafíos sean más manejables. Desde el análisis del sistema hasta el desarrollo, usar IA generativa en la modernización de sistemas heredados tiene el potencial de garantizar que las aplicaciones modernizadas se construyan con código de calidad y características arquitectónicas robustas, sin consumir todo tu tiempo y recursos.

Aviso legal: Las declaraciones y opiniones expresadas en este artículo son las del autor/a o autores y no reflejan necesariamente las posiciones de Thoughtworks.

Explora más insights