Understand

Cartographie les objets et dépendances des applications IBM i avec le tableau de bord Understand, et utilise Bob pour répondre à des questions structurelles directement à partir des données de scan.

Understand est un composant d'intelligence de code inclus avec IBM Bob Premium Package for i. Il scanne les bibliothèques d'applications IBM i que tu sélectionnes et construit un modèle complet de l'application en cataloguant tous les objets découverts, notamment les programmes, les programmes de service, les modules, les fichiers, les commandes, les zones de données et les files d'attente de données. Understand cartographie également les relations entre ces objets, capturant les dépendances telles que les appels de programmes, les modèles d'accès aux fichiers, les liaisons de programmes de service, les références SQL, les déclencheurs, les relations de clés étrangères, les configurations de journalisation et les contraintes de base de données.

Une fois le scan effectué, Bob peut répondre à des questions structurelles directement à partir des données de scan sans lire chaque membre source, et le tableau de bord Understand fournit une interface visuelle pour explorer les objets, les dépendances et les insights.

Note :

Toutes les données de scan sont dérivées des objets eux-mêmes. Understand ne lit ni n'analyse le code source. Si les membres source sont désynchronisés avec les objets compilés sur le système, le scan reflète les objets, pas le source.

Prérequis

  • Une connexion IBM i active via Code for IBM i.
  • Le paramètre vscode-ibmi-bob.understand.installLibrary doit être configuré avant l'installation d'Understand. Sélectionne une bibliothèque dédiée qui n'est pas une bibliothèque utilisateur existante. Restreins l'accès à la bibliothèque aux utilisateurs autorisés uniquement.
Note :

Les données d'application scannées sont stockées dans une bibliothèque privée. Si tu accordes à d'autres utilisateurs l'accès à cette bibliothèque, ils pourraient être en mesure de voir des données provenant d'objets auxquels ils n'ont pas directement accès.

Tutoriel de démarrage

Le tutoriel intégré Understand est la façon la plus rapide de commencer. Ouvre-le depuis la palette de commandes en exécutant la commande Get Started with Understand, ou ouvre l'onglet Get Started dans VS Code et sélectionne le tour Understand your IBM i applications.

Le tutoriel te guide à travers les étapes suivantes :

  1. Connexion à IBM i
  2. Installation du composant Understand
  3. Création de ta première application
  4. Son scan
  5. Exploration des résultats avec Bob

Ouverture du tutoriel Understand depuis l'onglet Get Started

Le tableau de bord Understand

Le tableau de bord Understand est l'interface centrale pour gérer les applications et explorer les résultats des scans. Ouvre-le avec la commande Open Understand Dashboard depuis la palette de commandes, ou en cliquant sur l'icône du tableau de bord Understand dans la barre de titre de la vue de chat Bob.

Opening the Understand Dashboard from the Bob chat view title bar

Le tableau de bord est organisé en les onglets suivants :

OngletObjectif
OverviewInstaller, mettre à jour et surveiller le statut du composant Understand.
ApplicationsCréer, scanner et gérer tes applications IBM i.
LibrariesAjouter ou supprimer des bibliothèques de l'application sélectionnée.
ObjectsRechercher et filtrer chaque objet scanné ; sélectionner un objet pour voir ce qu'il utilise et ce qui l'utilise.
InsightsNombres d'objets et de dépendances, objets les plus référencés, risques SQL dynamique, déclencheurs, clés étrangères et objets journalisés.
MessagesDiagnostics et informations de statut pour chaque étape du scan.
SettingsAccès rapide au paramètre de bibliothèque d'installation.

Installation du composant Understand

Avant de scanner une application, tu dois installer le composant Understand sur IBM i.

Ouvre le tableau de bord Understand et accède à l'onglet Overview.

Si aucune bibliothèque d'installation n'est définie, sélectionne Set install library sur la carte du composant et entre le nom de bibliothèque dans l'éditeur de paramètres.

Reviens au tableau de bord et sélectionne Install Understand.

Lorsqu'une version plus récente est livrée avec une mise à jour de l'extension, la même carte dans l'onglet Overview propose une action Update Understand.

Installing the Understand component from the Overview tab

Création d'une application

Une application consiste en une liste ordonnée de bibliothèques associées représentant une seule application IBM i, comme PAYLIB et PAYDTA pour un système de paie.

Dans l'onglet Applications, sélectionne New application :

  1. Entre un nom d'affichage et une description optionnelle.
  2. Commence à taper un nom de bibliothèque. La liste affiche les bibliothèques utilisateur disponibles sur le système connecté et exclut les bibliothèques système (Q*, SYS* et #*).
  3. Sélectionne une bibliothèque suggérée, ou appuie sur Entrée pour ajouter un nom de bibliothèque. Les bibliothèques sont scannées dans l'ordre dans lequel elles sont ajoutées.

Tu peux ajouter ou supprimer des bibliothèques à tout moment depuis l'onglet Libraries.

Création d'une nouvelle application dans l'onglet Applications

Scan d'une application

Un scan analyse chaque objet dans les bibliothèques de l'application et enregistre les dépendances entre eux. Sélectionne Scan à côté d'une application dans l'onglet Applications pour lancer un scan.

  • La progression du scan est affichée dans la section inférieure du tableau de bord. Les scans s'exécutent dans un job SQL dédié, te permettant de continuer à utiliser d'autres onglets du tableau de bord pendant que le scan est en cours.
  • Lorsque le scan se termine, il peut identifier des bibliothèques supplémentaires référencées par les objets de l'application qui ne sont pas encore incluses dans l'application. Examine ces recommandations dans l'onglet Libraries.
  • Vérifie l'onglet Messages pour tout objet, dépendance ou référence que le scanner n'a pas pu résoudre.
Scan des objets uniquement :

Understand lit les objets compilés sur le système, pas les membres source. Les relations de dépendance telles que les appels dynamiques (où le nom d'un programme est stocké dans une variable) et les références dynamiques aux tables SQL ne sont pas visibles pour un scan d'objets et ne sont pas capturées. Les objets marqués avec du SQL dynamique sont mis en évidence dans le tableau de bord et dans les réponses de Bob comme des zones nécessitant une révision manuelle.

Scanning an application in progress

Conseil : Scans de bibliothèques incrémentiels

Lorsque tu apportes des modifications à une bibliothèque spécifique, tu n'as pas besoin de rescanner toute l'application. Tu peux scanner des bibliothèques individuelles depuis l'onglet Libraries pour maintenir ton index à jour rapidement.

Scanning a library

Exploration des objets et des insights

Après la complétion d'un scan, tu peux explorer les résultats de deux façons.

Dans le tableau de bord, utilise l'onglet Objects pour rechercher et filtrer chaque objet indexé. Sélectionne un objet pour voir ce qu'il utilise (dépendances sortantes) et ce qui l'utilise (dépendances entrantes), ainsi que des colonnes pour les fichiers et les symboles exportés. L'onglet Insights te donne des statistiques agrégées : nombres d'objets et de dépendances, objets les plus référencés, risques SQL dynamique, déclencheurs, clés étrangères et objets journalisés.

Exploring objects in the Understand Dashboard

Exploring insights in the Understand Dashboard

Avec Bob, sélectionne le bouton Explore the Application with Bob dans l'onglet Insights pour ouvrir une tâche en mode IBM i Developer qui commence avec un résumé de l'application scannée. À partir de là, tu peux continuer à poser des questions en langage courant — ce qu'un programme utilise, ce qui casserait si un fichier change, où le SQL dynamique est utilisé, quels programmes sont OPM, et bien plus encore. Consulte Utiliser Bob avec Understand pour plus de détails.

Utiliser Bob avec Understand

Lorsqu'Understand est installé et qu'une application a été scannée, Bob accède automatiquement à six outils Understand et trois skills Understand dans les modes IBM i Developer et IBM i Database.

Bob utilise automatiquement les outils Understand comme première source d'information dès qu'une question implique la structure de l'application, les relations entre objets ou l'analyse des dépendances. Cela inclut des tâches telles que :

  • Quoi appelle le programme ORDPROC ? De quoi dépend-il ?
  • Est-il sûr de supprimer le fichier CUSTMST ? Qu'est-ce qui casserait ?
  • Quels programmes sont OPM ? Lesquels utilisent le SQL dynamique ?
  • Donne-moi une vue d'ensemble de l'application PAYLIB et sa maturité à la modernisation.
  • Que exporte le programme de service DBSRV, et qui utilise ces procédures ?

Bob répond à ces questions à partir des données de scan des objets. Il ne lit pas les membres source pour l'analyse structurelle sauf si tu lui demandes explicitement d'ouvrir un fichier source spécifique.

Pour contrôler si Bob peut utiliser les outils Understand pour une tâche spécifique, configure le groupe de permissions Understand lors du démarrage ou de la modification d'une tâche.

Note :

Les outils Understand ne sont activés que lorsque le composant est installé. Si ces outils ne sont pas visibles ou ne peuvent pas être utilisés, Understand n'a pas encore été installé. Pour les activer, complète le processus d'installation décrit dans Installation du composant Understand.

Exploration avec Bob

Maintenir les données à jour

Les données Understand représentent l'état de ton application au moment du scan le plus récent. Si des objets sont ajoutés, modifiés ou supprimés après le scan, exécute un nouveau scan pour actualiser les données et les maintenir à jour. Bob et le tableau de bord Understand indiquent automatiquement quand les résultats du scan peuvent être obsolètes, t'aidant à identifier quand un nouveau scan est nécessaire.

Comment trouvez-vous ce sujet ?