
Que ce soit dans le cadre d’une migration à PB 2017, de la mise à jour de votre base de données ou que vous passiez au mobile ou au 64-bit, retravailler une application complexe et volumineuse est toujours un défi.
Cet article présente les outils Visual Expert qui faciliteront votre migration.
Nettoyez votre code
Pourquoi migrer du code obsolète ou inutilisé ? Mieux vaut le trouver et le supprimer...
Estimez l'effort de migration
Calculez le nombre d’objets, méthodes, et lignes de code de votre application, pour aider à l’estimation du coût de la migration.
Trouvez et remplacez les fonctionnalités obsolètes
Vous pouvez avoir besoin de remplacer des fonctionnalités obsolètes : fonctions PB dépréciées, non supportées pour la migration Appeon Web/Mobile, vieux objets OLE, appel non sécurisés à des web services.
Migration 64-bit - Mise à jour des dépendances dll
Si vous migrez au 64-bit, vous devez vérifier si votre application utilise des dlls 32-bit et mettre à jour toutes les références les remplacer par des dlls 64-bit.
Passez en revue les dépendances Client / Serveur
En fonction de la nature de votre migration, vous devrez peut être revoir et mettre à jour les dépendances entre le code client PB et celui de la base de données :
- Quels objets utilisent quelles tables, de quelle manière ?
- Quels objets appellent quelles procédures stockées ?
Isolez les modules du reste de votre application
Vous pourriez avoir besoin d’isoler certaines parties de votre application pour :
- Migrer un sous-ensemble de fonctionnalités vers Appeon Mobile or Appeon Web
- Diviser un grand ensemble de code en plusieurs plus petits
- Déplacer une partie de la logique PB sur le serveur (dans des Web services, Procédures Stockées, dlls...)
Documentez les modifications effectuées pendant la migration
Une fois la migration terminée, gardez un historique de tous les changements apportés au code de l'application.
Nettoyez votre code
Trouvez et supprimez les objets et méthodes inutilisés
Pourquoi supprimer les éléments inutilisés
La plupart des grosses applications incluent de nombreux objets obsolètes qui ne sont plus appelés par le reste de l’application. Le plus souvent ils restent là car ils ne sont pas si faciles à identifier. Une migration est une bonne occasion de s’en débarrasser. D’ailleurs pourquoi migrer du code obsolète ?
Visual Expert permet de lister tous les objets potentiellement inutilisés afin qu’ils soient supprimés si nécessaire.
Résultats Attendus
Comment supprimer les objets et méthodes inutilisés?
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code
- Pour trouver les objets PowerBuilder inutilisés, sélectionnez dans le dans le treeview de Visual Expert, une target, une PBL, ou un type d’objet (fenêtre, User Object, DataWindow…) puis cliquez sur "Objets potentiellement inutilisés".
- Pour trouver les méthodes, variables et paramètres PowerBuilder inutilisés, sélectionnez un objet PB et cliquez sur "Eléments potentiellement inutilisés" .
- Pour trouver les objets Oracle PL/SQL ou SQL Server Transact-SQL inutilisés sélectionnez une application, un package ou un type d’objet et cliquez sur “Eléments inutilisés”.
Note : Un objet est considéré comme inutilisé quand l'analyse du code ne trouve aucune référence à cet objet. Il est possible qu'il existe une référence dynamique qui ne peut être détectée pendant l'analyse statique du code. Cependant, la fonctionnalité "unused" vous permettra de vous concentrer sur un nombre très restreint "d'objet probablement inutilisé", et vous évitera de vérifier toute l'application. Si besoin vous pourrez chercher le nom d'un objet donné (simple recherche de chaine de caratcères). Dans le menu ruban, aller à "Recherche" et entrez le nom de l'objet dans le champs "code source".
Trouvez et supprimez les objets dupliqués
Pourquoi supprimer les objets dupliqués ?
Bien que votre application puisse contenir des copies d’objets en cours de modification dans des PBL temporaires, la plupart des objets dupliqués sont abandonnés en l’état. Ces composants inutilisés peuvent être supprimés afin d'alléger votre code.
Visual Expert génère une liste de tous les objets PBL qui appartiennent à une même target et qui portent le même nom.
Résultats Attendus
Comment supprimer les objets dupliqués ?
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
- Pour trouver les objets dupliqués PowerBuilder, sélectionnez une target et cliquez sur "Composants Dupliqués"
- Pour identifier les fonctions ou procédures Oracle PL/SQL ou SQL Server Transact-SQL potentiellement dupliquées, sélectionnez le type d’objet correspondant à la racine du treeview et cliquez sur "Eléments similaires".
Estimez l’effort de migration
Combien de lignes de code, d’objets et de méthodes comporte votre application PowerBuilder ?
Pourquoi calculer des metriques sur votre application ?
Avec votre expérience et compte tenu de la nature et de la complexité de votre application, vous disposez sûrement de données vous permettant d’estimer le coût de migration par objet, méthode, et/ou ligne de code.
Visual Expert calcule le nombre d’éléments composant votre application pour vous permettre d’estimer le coût global de la migration de votre application.
Résultat attendu
Comment connaître le nombres d'éléments de mon application PB ?
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
- Dès que le code est analysé, le nombre d’objets PowerBuilder, Oracle, PL/SQL, SQL Server and Transact-SQL s’affichera dans le treeview.
- Pour calculer le nombre de lignes de code PowerBuilder, sélectionnez une target, une PBL, un type d’objet (fenêtre, UO, DW...) ou des objets PB spécifiques et cliquez sur "Lignes de Code".
- Pour calculer le nombre de lignes de code PL/SQL ou Transact-SQL, sélectionnez un type d’objet à la racine du treeview, ou des objets donnés et cliquez sur “Lignes de Code”.
- Pour calculer le nombre de fonctions, événements, variables et constantes PowerBuilder, sélectionnez une target, une PBL, un type d’objet (fenêtre, UO, DW…) ou des objets spécifiques et cliquez sur "Nombre d'éléments"
Trouvez et remplacer les fonctionnalités obsolètes
Trouvez où est utilisée une fonctionnalité donnée dans votre code
Pourquoi remplacer une fonctionnalité obsolète ?
Vous pouvez avoir à remplacer des fonctionnalités obsolètes dans votre application : Fonctions PB dépréciées, fonctionnalités non supportées par Appeon Web/Mobile dans le cadre d’une migration, vieux objets OLE, appels à des services web non sécurisés.
Visual Expert vous montre où sont utilisées ces fonctionnalités dans votre code.
Résultat Attendu
Comment trouver les fonctionnalités obsolètes
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
- Pour trouver les appels à une fonctionnalité PowerBuilder (objet built-in, contrôle, méthode ou attribut), sélectionnez l'application virtuelle “PowerBuilder System Object” dans la partie supérieure du treeview. Cliquez sur "Tous les objets PB", localisez la fonctionnalité PB obsolète (ex: systemfunctions.findclassdefinition), puis cliquez sur “Analyse d'Impact”.
- Pour trouver les appels à un objet ou une fonction externe, vérifiez la liste des fonctions externes : sélectionnez une target PB dans le treeview, cliquez sur “Fonctions Externes” et recherchez le nom de la fonction en utilisant le champ de recherche au dessus du treeview. Une fois que la fonction externe est sélectionnée, cliquez sur “Analyse d'Impact”
Migration 64-bit - Mettre à jour les dépendances aux dlls
Trouver les appels aux dlls 32-bit
Pourquoi ?
Certaines applications PowerBuilder incluent des appels à des APIs Windows, ou s'intégrent à des outils tiers en appellant leurs dlls. Si vous migrez en 64-bit, vous devez vérifier si votre application utilise des dlls 32 bits et mettre à jour les références pour utiliser des dlls 64 bits à leur place.
Visual Expert liste toutes les dll utilisées par votre application, ainsi que toutes les fonctions dll appelées et il trouve toutes les références aux fonctions dll dans le code PowerBuilder.
Résultats Attendus
Comment trouver les appels aux dlls 32-bit ?
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
- Pour trouver les appels à une fonction dll donnée, ouvrez la liste des dll à la racine du treeview, double-cliquez sur la dll, sélectionnez les fonctions dll que vous cherchez et cliquez sur "Analyse d'Impact".
- Pour identifier les objets PowerBuilder déclarant des fonctions à partir de cette dll, sélectionnez la dll dans le treeview et cliquez sur "Composants PB liés"
- Pour trouver les fonctions à partir d'une dll, qui sont déclarées mais inutilisées dans votre code, sélectionnez la dll et cliquer sur "Fonctions externes inutilisées"
Passez en revue les dépendances Client/Serveur
Quels objets utilisent quelles tables, de quelle façon (Matrice CRUD) ?
Pourquoi chercher les dépendances Client/Serveur ?
En fonction de la nature de la migration que vous entreprenez, vous pouvez avoir besoin de passer en revue les dépendances aux tables de la base de données.
Cette matrice montre quels objets PowerBuilder et de Base de données appellent des tables et indique pour quel type d’accès (Create, Read, Update, Delete).
Résultat attendu
Comment générer une matrice CRUD ?
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
- Dans le treeview, double-cliquez sur l’icône table, sélectionnez une ou plusieurs tables et cliquez sur “Créer une Matrice CRUD”. Un fichier Excel est généré avec une matrice CRUD que vous pouvez ouvrir, commenter et partager si nécessaire.
- Si vous avez besoin d’en savoir plus sur les dépendances à une certaine table, sélectionnez cette table dans le treeview et cliquez sur “Analyse d’Impact”. Tous les appels à cette table seront affichés.
- Sélectionnez un objet dans le résultat pour voir les références exactes dans le code.
Quels objets appellent quelles procédures stockées ?
Pourquoi afficher les appels aux procédures stockées ?
Comme pour une table (voir ci-dessus), vous pouvez avoir besoin de voir et de mettre à jour les dépendances aux procédures stockées. Par exemple si vous devez remplacer certaines d’entres elles par des services web.
Pour chaque PBL, Visual Expert liste les objets PowerBuilder appelant des procédures stockées, indique les procédures appelées, et montre les références correspondantes dans le code PB.
Expected Results
Comment voir les Procédures Stockées appelées ?
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
- Sélectionnez une ou plusieurs PBLs dans le treeview et cliquez sur “Proc. Appelées”. Le résultat s’affiche, que vous ayez inclut ou non le code des procédures dans votre projet (Oracle PL/SQL ou SQL Server Transact-SQL). L’analyseur de code Visual Expert retrouve les références à la Procédure stockée dans le code PowerBuilder pour créer cette liste.
- Dans le résultat, sélectionnez un objet PowerBuilder pour voir les références aux procédures dans son code.
- Si vous avez uniquement besoin de lister les références à une procédure donnée, sélectionnez cette procédure et cliquez sur “Analyse d’Impact ”
Isolez des modules du reste de l’application
Vérifiez les dépendances entre PBLs
Pourquoi isoler des modules ?
Pendant la migration, vous pourrez avoir besoin d’isoler certaines parties de votre application pour :
- Migrer un sous-ensemble de vos fonctionnalités vers Appeon Web ou Appeon Mobile
- Diviser un grand ensemble de codes en sous-ensembles
- Déplacer une partie de la logique PowerBuilder sur le serveur (dans des services Web, des procédures stockées, dlls…)
Visual Expert affiche les dépendances entres les PBLs et votre application.
Si vous sélectionnez plusieurs PBLs composant un module donnée, vous pouvez alors vérifier et mettre à jour leurs dépendance à d’autres PBLs et modules.
Résultats Attendu
Comment afficher les dépendances entres PBLs
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
- Dans le treeview, double-cliquez sur l’icône PBL, sélectionnez les PBLs composant votre module et cliquez sur “Dépendances PBL”.
- Si les dépendances à une PBL donnée doivent être examinées en détail, sélectionnez cette PBL et cliquez sur “Références Externes”. Cette option permet d’afficher toutes les références aux objets de cette PBL, venant d’objets situés dans d’autres PBLs.
Documentez les modification effectuées pendant la migration
Comparez le code avant et après la migration
Pourquoi ?
Une fois la migration terminée, conservez une trace de tous les changements effectués au cours de la migration, pour pouvoir les passer en revue en cas de besoin.
Résultat Attendu
Comment afficher les dépendances entre PBLs
- Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
- Dans le treeview, sélectionnez une PBL ou un type d'objet PowerBuilder
- Dans le menu, allez dans "Comparison" puis dans "Compare with analysis".
- Choisissez une analyse et cliquez sur "Comparer".