Un diagrama de flujo con diversas formas y símbolos
Code Generation for Z

IBM watsonx Code Assistant (WCA) for Z es una solución de modernización de aplicaciones de mainframe asistida por IA que facilita a los desarrolladores modernizar y refactorizar incrementalmente los servicios empresariales COBOL y transformarlos selectivamente en código Java de alta calidad optimizado para IBM Z. Con watsonx Code Assistant for Z, los clientes podrán aprovechar la IA generativa y las herramientas automatizadas para acelerar su proceso de modernización de las aplicaciones de mainframe, mientras abordan desafíos clave en torno a las habilidades de los desarrolladores y el tiempo de creación de valor.

 

Descripción general de la solución

Un diagrama de flujo que ilustra el proceso de refactorización del código COBOL, del lenguaje de origen al lenguaje de destino
Los componentes principales y sus conexiones dentro de la arquitectura de la solución Code Generation for Z.

IBM watsonx Code Assistant for Z consta de los siguientes componentes principales (que se muestran en el diagrama anterior):

  1. IBM Application Discovery and Delivery Intelligence (ADDI) analiza el código fuente de las aplicaciones para descubrir y comprender las relaciones entre los programas dentro de un sistema de aplicaciones. ADDI también proporciona la capacidad de visualizar e informar sobre estas dependencias, así como buscar en la base de código.

     

  2. La base de datos de metadatos contiene los resultados del proceso de comprensión y refactorización de COBOL que realiza ADDI. IBM watsonx Code Assistant utiliza los datos de la base de datos de metadatos para permitir la refactorización de grandes sistemas de software compuestos por múltiples programas COBOL, copybooks, etc.

     

  3. Una herramienta COBOL Source Control Management (SCM) proporciona control de fuente para el código COBOL que se va a convertir. El repositorio SCM también está asociado a un proyecto ADDI, de modo que se pueden escanear los nuevos servicios COBOL y enviar los metadatos a la base de datos de metadatos.

     

  4. Refactoring Assistant es un "puente" entre ADDI y el servicio IBM watsonx Code Assistant. Refactoring Assistant se conecta a ADDI y extrae los servicios empresariales COBOL identificados para su refactorización y conversión a código Java.

     

  5. IBM watsonx Code Assistant Service (WCA for Z) es una aplicación de IBM watsonx.ai que recibe solicitudes de instrucciones de Microsoft Visual Studio Code (VS Code) y establece coincidencias con un modelo de lenguaje grande (LLM). WCA for Z analiza párrafos COBOL y clases Java y genera propuestas de código que siguen las prácticas líderes.

     

  6. Un modelo de lenguaje grande (LLM) de código es un modelo fundacional de IA generativa para la generación de código que se basa en el modelo IBM® Granite for Z. También se puede entrenar para incluir código COBOL adicional generado por proveedores o usuarios empresariales.

     

  7. Los programas COBOL son programas independientes o componentes de un sistema de software más amplio que pueden refactorizarse en servicios Java.

     

  8. El código Java es código generado por WCA for Z que reproduce el comportamiento del programa COBOL de entrada.

Uso y recorrido
Diagrama de IBM Cloud que ilustra el proceso de refactorización de aplicaciones COBOL a código Java
Un recorrido por la arquitectura de la solución que muestra las interacciones de los componentes y el flujo de información para generar código Java a partir del código fuente COBOL.

El diagrama anterior ilustra cómo los componentes de WCA for Z funcionan juntos para permitir a los desarrolladores convertir el código fuente de COBOL a Java.

  1. Un arquitecto utiliza las funciones de ADDI para comprender el código COBOL. Este producto se ejecuta en una VM de Windows y escanea el código fuente para proporcionar insights de las aplicaciones a los arquitectos. El análisis del código fuente se almacena en un proyecto al que un arquitecto puede acceder desde una herramienta basada en Eclipse. Esta herramienta permite a un arquitecto realizar diferentes tareas, incluida la visualización de las relaciones entre diferentes programas, la ejecución de informes y la búsqueda de código. Un arquitecto puede usar esta herramienta para comenzar a modernizar una aplicación COBOL monolítica identificando posibles servicios de negocio para refactorizar, con la opción de convertirlos a Java mediante IA generativa.

     

  2. ADDI envía los resultados de su análisis a la base de datos de metadatos, que a su vez se agregan al conjunto de datos utilizado por IBM watsonx Code Assistant Service.

     

  3. El desarrollador de COBOL utiliza Refactoring Assistant para comenzar a extraer el servicio empresarial COBOL que el arquitecto identificó a partir de una aplicación monolítica. Refactoring Assistant es un producto basado en contenedores que funciona en una máquina virtual Linux. Tiene una interfaz de usuario (IU) web para que los desarrolladores visualicen y seleccionen el código relevante para crear un nuevo servicio COBOL que comprende una función empresarial a partir de muchos programas existentes diferentes. Refactoring Assistant se conecta a ADDI de forma segura para acceder al análisis de la aplicación COBOL en la base de datos de ADDI.

     

  4. Una vez que el desarrollador de COBOL selecciona todo el código, puede exportar el nuevo programa COBOL a su estación de trabajo para continuar desarrollando en un entorno de desarrollo integrado (IDE).

     

  5. Los párrafos COBOL refactorizados se almacenan en el repositorio de servicios y se ponen a disposición de los desarrolladores de Java para su conversión.

     

  6. El desarrollador de Java utiliza Z Open Editor en VS Code para conectarse al servicio WCA for Z en IBM Cloud. Este servicio se aprovisiona mediante una cuenta de IBM Cloud y proporciona acceso al modelo fundacional de IA. Z Open Editor permite al desarrollador de Java convertir y generar código de la siguiente manera:

    1. En primer lugar, un desarrollador de Java selecciona un párrafo COBOL en VS Code y envía su contenido al servicio WCA for Z para su conversión a definiciones de clase Java.

    2. Posteriormente, en VS Code, un desarrollador de Java selecciona clases de Java individuales para las que el servicio WCA for Z debe generar líneas de código Java.

       

  7. En los dos casos anteriores, el servicio WCA for Z utiliza su LLM de código para generar contenido. El LLM de código es un modelo fundacional de IA generativa que se entrena en muchos lenguajes de programación y se ajusta para convertir COBOL a Java.

     

  8. WCA for Z envía las respuestas generadas por IA a VS Code, y el desarrollador de Java puede utilizar las prácticas líderes para revisar y compilar el código para completar el servicio Java.

Requisitos previos

  • Microsoft VS Code
  • SDK de IBM Semeru Java 17 LTS
  • IBM Z Open Editor Extension for VS Code
  • Language Support for Java by Red Hat extension for VS Code
  • Cuenta de GitHub.com
  • Conexión a IBM Watson Code Assistant
Siguientes pasos

Hable con nuestros expertos sobre la implementación de un patrón de despliegue de nube híbrida.

Colaboradores

Al Hamid, Pete Nuwayser, Chris Kirby, Mihai Criveti

Actualizado: 5 de diciembre de 2023