9 Fonctionnalités incontournables pour la migration de votre application PowerBuilder

Visual Expert Features for Code Migration

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...

  1. Trouvez et supprimez les objets et méthodes inutilisés
  2. Trouvez et supprimez les objets dupliqués

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.

  1. Combien y a-t-il de lignes de code, objets et méthodes dans votre application PB ?

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.

  1. Trouvez où une fonctionnalité donnée est utilisée dans votre code

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.

  1. Trouvez les appels aux dlls 32-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 :

  1. Quels objets utilisent quelles tables, de quelle manière ?
  2. 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...)
  1. Vérifiez les dépendances au niveau de la PBL

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.

  1. Comparez le code avant et après la migration

Essayez Visual Expert

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

Find unused PowerBuilder Objects

Comment supprimer les objets et méthodes inutilisés?

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code
  2. 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".
  3. 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" .
  4. 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

Find duplicated PowerBuilder Objects

Comment supprimer les objets dupliqués ?

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
  2. Pour trouver les objets dupliqués PowerBuilder, sélectionnez une target et cliquez sur "Composants Dupliqués"
  3. 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

Visual Expert provides Code Metrics: the number of PowerBuilder or Database items in an application

Comment connaître le nombres d'éléments de mon application PB ?

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
  2. 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.
  3. 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".
  4. 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”.
  5. 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

Find references to a given PowerBuilder Feature or stored procedure, web service etc. in your code

Comment trouver les fonctionnalités obsolètes

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
  2. 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”.
  3. 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

Find calls to 32-bit dlls in your PowerBuilder Code

Comment trouver les appels aux dlls 32-bit ?

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
  2. 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".
  3. 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"
  4. 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

Overview of Process-to-Data dependecies in PowerBuilder

Comment générer une matrice CRUD ?

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
  2. 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.
  3. 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.
  4. 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

Find the PowerBuilder objects calling stored procedures

Comment voir les Procédures Stockées appelées ?

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
  2. 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.
  3. Dans le résultat, sélectionnez un objet PowerBuilder pour voir les références aux procédures dans son code.
  4. 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

Review PBLs Dependencies in your PowerBuilder Code

Comment afficher les dépendances entres PBLs

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
  2. Dans le treeview, double-cliquez sur l’icône PBL, sélectionnez les PBLs composant votre module et cliquez sur “Dépendances PBL”.
  3. 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

Compare Versions of your PowerBuilder Code before and after migration

Comment afficher les dépendances entre PBLs

  1. Installez Visual Expert pour PowerBuilder et créez un nouveau projet pour analyser votre code.
  2. Dans le treeview, sélectionnez une PBL ou un type d'objet PowerBuilder
  3. Dans le menu, allez dans "Comparison" puis dans "Compare with analysis".
  4. Choisissez une analyse et cliquez sur "Comparer".
PowerBuilder, Oracle, SQL Server, Migration, VE 2017