Understand

Mapea objetos y dependencias de aplicaciones IBM i con el panel Understand, y usa Bob para responder preguntas estructurales directamente desde los datos del escaneo.

Understand es un componente de inteligencia de código incluido en IBM Bob Premium Package for i. Analiza las bibliotecas de aplicaciones IBM i que selecciones y crea un modelo completo de la aplicación catalogando todos los objetos descubiertos, incluidos programas, programas de servicio, módulos, archivos, comandos, áreas de datos y colas de datos. Understand también mapea las relaciones entre estos objetos, capturando dependencias como llamadas a programas, patrones de acceso a archivos, enlaces de programas de servicio, referencias SQL, triggers, relaciones de clave foránea, configuraciones de journaling y restricciones de base de datos.

Una vez escaneado, Bob puede responder preguntas estructurales directamente desde los datos del escaneo sin leer cada miembro fuente, y el panel Understand ofrece una interfaz visual para explorar objetos, dependencias e insights.

Nota:

Todos los datos del escaneo se obtienen de los propios objetos. Understand no lee ni analiza el código fuente. Si los miembros fuente están desincronizados con los objetos compilados en el sistema, el escaneo refleja los objetos, no el fuente.

Prerrequisitos

  • Una conexión activa a IBM i a través de Code for IBM i.
  • El ajuste vscode-ibmi-bob.understand.installLibrary debe configurarse antes de instalar Understand. Selecciona una biblioteca dedicada que no sea una biblioteca de usuario existente. Restringe el acceso a la biblioteca únicamente a los usuarios autorizados.
Nota:

Los datos de la aplicación escaneada se almacenan en una biblioteca privada. Si concedes acceso a otros usuarios a esta biblioteca, podrían ver datos de objetos sobre los que no tienen autorización directa.

Tutorial de inicio

El tutorial integrado de Understand es la forma más rápida de comenzar. Ábrelo desde la paleta de comandos ejecutando el comando Get Started with Understand, o abre la pestaña Get Started en VS Code y selecciona el tour Understand your IBM i applications.

El tutorial te guía por los siguientes pasos:

  1. Conectarse a IBM i
  2. Instalar el componente Understand
  3. Crear tu primera aplicación
  4. Escanearla
  5. Explorar los resultados con Bob

Opening the Understand walkthrough from the Get Started tab

El panel Understand

El panel Understand es la interfaz central para gestionar aplicaciones y explorar los resultados del escaneo. Ábrelo con el comando Open Understand Dashboard desde la paleta de comandos, o haciendo clic en el icono del panel Understand en la barra de título de la vista de chat de Bob.

Opening the Understand Dashboard from the Bob chat view title bar

El panel está organizado en las siguientes pestañas:

PestañaPropósito
OverviewInstala, actualiza y supervisa el estado del componente Understand.
ApplicationsCrea, escanea y gestiona tus aplicaciones IBM i.
LibrariesAgrega o elimina bibliotecas de la aplicación seleccionada.
ObjectsBusca y filtra todos los objetos escaneados; selecciona uno para ver qué usa y qué lo usa.
InsightsRecuentos de objetos y dependencias, objetos más referenciados, riesgos de SQL dinámico, triggers, claves foráneas y objetos con journaling.
MessagesDiagnósticos e información de estado de cada paso del escaneo.
SettingsAcceso rápido al ajuste de la biblioteca de instalación.

Instalación del componente Understand

Antes de escanear cualquier aplicación, debes instalar el componente Understand en IBM i.

Abre el panel Understand y ve a la pestaña Overview.

Si no hay ninguna biblioteca de instalación configurada, selecciona Set install library en la tarjeta del componente e introduce el nombre de la biblioteca en el editor de ajustes.

Vuelve al panel y selecciona Install Understand.

Cuando una versión más reciente se incluye en una actualización de la extensión, la misma tarjeta en la pestaña Overview ofrece la acción Update Understand.

Installing the Understand component from the Overview tab

Creación de una aplicación

Una aplicación consiste en una lista ordenada de bibliotecas relacionadas que representan una sola aplicación IBM i, como PAYLIB y PAYDTA para un sistema de nómina.

En la pestaña Applications, selecciona New application:

  1. Introduce un nombre para mostrar y una descripción opcional.
  2. Comienza a escribir el nombre de una biblioteca. La lista muestra las bibliotecas de usuario disponibles en el sistema conectado y excluye las bibliotecas del sistema (Q*, SYS* y #*).
  3. Selecciona una biblioteca sugerida, o pulsa Enter para agregar el nombre de una biblioteca. Las bibliotecas se escanean en el orden en que se agregan.

Puedes agregar o eliminar bibliotecas en cualquier momento desde la pestaña Libraries.

Creating a new application in the Applications tab

Escaneo de una aplicación

Un escaneo analiza todos los objetos de las bibliotecas de la aplicación y registra las dependencias entre ellos. Selecciona Scan junto a una aplicación en la pestaña Applications para iniciar un escaneo.

  • El progreso del escaneo se muestra en la sección inferior del panel. Los escaneos se ejecutan en un trabajo SQL dedicado, lo que te permite seguir usando otras pestañas del panel mientras el escaneo está en curso.
  • Cuando el escaneo finaliza, puede identificar bibliotecas adicionales referenciadas por los objetos de la aplicación que aún no están incluidas en ella. Revisa estas recomendaciones en la pestaña Libraries.
  • Comprueba la pestaña Messages para ver los objetos, dependencias o referencias que el escáner no pudo resolver.
Solo escaneo de objetos:

Understand lee objetos compilados en el sistema, no miembros fuente. Las relaciones de dependencia como llamadas dinámicas (donde el nombre de un programa se almacena en una variable) y referencias dinámicas a tablas SQL no son visibles para un escaneo de objetos y no se capturan. Los objetos marcados con SQL dinámico se destacan en el panel y en las respuestas de Bob como áreas que requieren revisión manual.

Scanning an application in progress

Tip: Escaneos incrementales de bibliotecas

Al realizar cambios en una biblioteca específica, no es necesario volver a escanear toda la aplicación. Puedes escanear bibliotecas individuales desde la pestaña Libraries para mantener tu índice actualizado rápidamente.

Scanning a library

Exploración de objetos e insights

Tras completar un escaneo, puedes explorar los resultados de dos maneras.

En el panel, usa la pestaña Objects para buscar y filtrar todos los objetos indexados. Selecciona un objeto para ver qué usa (dependencias de salida) y qué lo usa (dependencias de entrada), junto con columnas para archivos y símbolos exportados. La pestaña Insights te ofrece estadísticas agregadas: recuentos de objetos y dependencias, los objetos más referenciados, riesgos de SQL dinámico, triggers, claves foráneas y objetos con journaling.

Exploring objects in the Understand Dashboard

Exploring insights in the Understand Dashboard

Con Bob, selecciona el botón Explore the Application with Bob en la pestaña Insights para abrir una tarea en modo IBM i Developer que comienza con un resumen de la aplicación escaneada. Desde ahí, puedes seguir haciendo preguntas en lenguaje natural — qué usa un programa, qué se rompería si cambia un archivo, dónde se usa SQL dinámico, qué programas son OPM y mucho más. Consulta Usar Bob con Understand para más detalles.

Uso de Bob con Understand

Cuando Understand está instalado y una aplicación ha sido escaneada, Bob obtiene acceso automáticamente a seis herramientas de Understand y tres skills de Understand tanto en el modo IBM i Developer como en el modo IBM i Database.

Bob usa automáticamente las herramientas de Understand como primera fuente de información cada vez que una pregunta involucra la estructura de la aplicación, las relaciones entre objetos o el análisis de dependencias. Esto incluye tareas como:

  • ¿Qué llama al programa ORDPROC? ¿De qué depende?
  • ¿Es seguro eliminar el archivo CUSTMST? ¿Qué se rompería?
  • ¿Qué programas son OPM? ¿Cuáles usan SQL dinámico?
  • Dame una visión general de la aplicación PAYLIB y su preparación para la modernización.
  • ¿Qué exporta el programa de servicio DBSRV y quién usa esos procedimientos?

Bob responde estas preguntas a partir de los datos del escaneo de objetos. No lee miembros fuente para el análisis estructural a menos que le pidas explícitamente que abra un archivo fuente específico.

Para controlar si Bob puede usar las herramientas de Understand en una tarea específica, configura el grupo de permisos de Understand al iniciar o editar una tarea.

Nota:

Las herramientas de Understand solo están habilitadas cuando el componente está instalado. Si estas herramientas no son visibles o no se pueden usar, Understand aún no ha sido instalado. Para habilitarlas, completa el proceso de instalación descrito en Instalación del componente Understand.

Exploring with Bob

Mantener los datos actualizados

Los datos de Understand representan el estado de tu aplicación en el momento del escaneo más reciente. Si se agregan, modifican o eliminan objetos después del escaneo, ejecuta un nuevo escaneo para actualizar los datos y mantenerlos al día. Bob y el panel Understand indican automáticamente cuándo los resultados del escaneo pueden estar desactualizados, ayudándote a identificar cuándo es necesario volver a escanear.

¿Cómo es este tema?