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 mainframe, al tiempo que abordan desafíos clave en torno a las habilidades de los desarrolladores y el tiempo para valorar.
IBM® watsonx Code Assistant for Z consta de los siguientes componentes principales (que se muestran en el diagrama anterior):
IBM Application Discovery and Delivery Intelligence (ADDI) explora el código fuente de las aplicaciones para descubrir y comprender las relaciones entre los programas de un sistema de aplicaciones. ADDI también ofrece la capacidad de visualizar e informar sobre estas dependencias, así como de buscar en la base de código.
La Metadata Database contiene los resultados del proceso de comprensión y refactorización de COBOL realizado por ADDI. IBM watsonx Code Assistant utiliza la Metadata Database para permitir la refactorización de grandes sistemas de software compuestos por varios programas COBOL, copybooks, etc.
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 nuevos servicios COBOL y enviar los metadatos a la base de datos de metadatos.
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 de COBOL identificados para refactorizarlos y convertirlos a código Java.
El 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 realiza coincidencias con un modelo de lenguaje de gran tamaño (LLM). WCA for Z analiza párrafos COBOL y clases Java y genera propuestas de código que siguen las prácticas líderes.
Code Large Language Model (LLM) 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 puede entrenarse para incluir código COBOL adicional generado por proveedores o por usuarios empresariales.
Los programas COBOL son programas independientes y/o componentes de un sistema de software más grande que pueden refactorizarse en servicios Java.
El código Java es un código generado por WCA for Z que replica el comportamiento del programa COBOL de entrada.
El diagrama anterior ilustra cómo los componentes de WCA for Z trabajan juntos para permitir a los desarrolladores convertir el código fuente COBOL a Java.
Un arquitecto utiliza las funciones de ADDI para comprender el código COBOL. Este producto funciona en una máquina virtual Windows y escanea el código fuente para ofrecer perspectivas de aplicación 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, como visualizar las relaciones entre diferentes programas, ejecutar informes y buscar código. Un arquitecto puede utilizar esta herramienta para empezar a modernizar una aplicación COBOL monolítica identificando posibles servicios empresariales para refactorizar, con la opción de convertirla a Java mediante IA generativa.
ADDI envía los resultados de su análisis a la Metadata Database, que a su vez se añaden al conjunto de datos utilizado por IBM watsonx Code Assistant Service.
El desarrollador de COBOL utiliza Refactoring Assistant para empezar 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. Dispone de una IU web para que los desarrolladores visualicen y seleccionen el código pertinente para crear un nuevo servicio COBOL que comprenda 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 ADDI.
Una vez que el desarrollador 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).
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.
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:
En primer lugar, un desarrollador 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 clases Java.
Más tarde, en VS Code, un desarrollador de Java selecciona clases individuales de Java para las que el servicio WCA for Z debe generar líneas de código Java.
En los dos casos anteriores, el servicio WCA for Z utiliza su Code LLM para generar contenido. El Code LLM es un modelo fundacional de IA generativa que se entrena en muchos lenguajes de programación y se ajusta para convertir COBOL a Java.
WCA for Z envía respuestas generadas por IA a VS Code, y el desarrollador de Java puede utilizar las mejores prácticas para revisar y compilar el código para completar el servicio Java.