9 Funcionalidades indispensables para la migración de tu aplicación PowerBuilder

Visual Expert Features for Code Migration
Ya sea que estés migrando a PB 2017, que desees actualizar tu base de datos, que desees pasar a aplicaciones móviles o a 64 bits, retrabajar una aplicación grande y compleja representa un desafío. Este artículo te presenta herramientas de Visual Expert que te facilitarán la migración.

Limpia tu código

No sirve de nada migrar código obsoleto, la solución es encontrarlo y eliminarlo...

  1. Encuentra y elimina los objetos y métodos no usuados
  2. Encuentra y elimina los objetos duplicados

Calcula el esfuerzo de la migración

Calcula el número de objetos, métodos y líneas de tu aplicación, para poder estimar el costo de la migración

  1. ¿Cuantas líneas de código, objetos, métodos tienes en tu aplicación PB?

Encuentra y reemplaza las funcionalidades obsoletas

Puedes reemplazar las funcionalidades obsoletas: funciones PB obsoletas, no soportadas por la migración Appeon Web/Mobile, viejos objetos OLE, llamadas no seguras a servicios web.

  1. Encuentra dónde una funcionalidad dada estás siendo utilizada en tu código

Migración 64-bit - Actualización de las dependencias entre dlls

Si estás migrando a 64-bit debes verificar si tu aplicación usa dlls 32 bits y actualizar todas las referencias para reemplazarlas por dlls 64 bits.

  1. Encuentra las referencias a dlls 32-bit

Revisa las dependencias Cliente / Servidor

En función de la naturaleza de tu migración, debes recibir y actualizar las dependencias entre el código PB y el código de la base de datos:

  1. ¿Qué objetos usan las tablas y de qué manera?
  2. ¿Qué objetos llaman a qué procedimientos almacenados?

Aísla los módulos del resto de tu aplicación

Tal vez tengas necesidad de aislar ciertas partes de tu aplicación para:

  • Migrar un subconjunto de funcionalidades hacia Appeon Mobile o Appeon Web
  • Dividir un conjunto de código en subconjuntos más pequeños
  • Mover una parte de la lógica de PB hacia el servidor (en Web services, procedimientos almacenados, dlls...)
  1. Verificar las dependencias al nivel de la PBL

Documenta las modificaciones efectuadas durante la migración

Una vez finalizada la migración, guarda un historial de todos los cambios en el código de la aplicación.

  1. Compara el código antes y después de la migración

Pobar Visual Expert Ahora

Limpia tu código

Encuentra y elimina los objetos y los métodos no usados

Ventaja

La mayoría de las grandes aplicaciones incluyen numerosos objetos obsoletos que ya no son llamados por el resto de la aplicación. Generalmente estos objetos siguen en el proyecto porque es difícil identificarlos. Una migración es una buena ocasión para deshacerse de ellos.

Visual Expert permite hacer una lista de los objetos potencialmente no usados con el fin de que los mismos sean eliminados en caso de ser necesario.

Resultados Esperados

Find unused PowerBuilder Objects

¿Cómo hacerlo?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. Para encontrar los objetos PowerBuilder no usados, selecciona en la vista principal de Visual Expert, un target, una PBL o un tipo de objeto (ventana, User Object, DataWindow…) enseguida haz clic en "Posibles objetos no usados".
  3. Para encontrar los métodos, variables y parámetros no usados de PowerBuilder, selecciona un objeto PB y da clic en "Elementos probablemente no usados" .
  4. Para encontrar los objetos Oracle PL/SQL o SQL Server Transact-SQL no usados, selecciona una aplicación, un paquete o un tipo de objeto y da clic en “Componentes no usados”.

Note: An object is considered "unused" when the code analysis could not find any reference to this object. There is always the possibility for dynamic references that cannot be detected in the source code (static analysis). Still, "unused" features will help to focus on a very small number of "probably unused objects", rather than checking the entire application. If needed, you can also search for the name of a given object (simple string search). In the Ribbon menu, go to "Search" and enter the object name in the field "Source code".

Encuentra y elimina los objetos duplicados

Ventaja

Aunque tu aplicación puede contener copias de objetos que están siendo modificados en las PBL temporales, la mayoría de los objetos duplicados se abandonan en esta etapa. Estos componentes no usados pueden ser eliminados y así aligerar tu código.

Visual Expert genera una lista de todos los objetos PBL que pertenecen a un mismo target y que tienen el mismo nombre.

Resultados esperados

Find duplicated PowerBuilder Objects

¿Cómo hacerlo?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. Para encontrar los objetos duplicados en PowerBuilder, selecciona un target y da clic en "Items duplicados"
  3. Para identificar las funciones o los procedimientos Oracle PL/SQL o SQL Server Transact-SQL potencialmente duplicados, selecciona el tipo de objeto correspondiente en la vista principal y da clic “Encontrar elementos similares".

Calcula el esfuerzo de migración

¿Cuántas líneas de código, de objetos y de métodos tienes en tu aplicación?

Ventaja

Con tu experiencia y dependiendo de la naturaleza y la complejidad de tu aplicación, debes contar con información interna que te permite calcular el costo de migración media por objeto, método y/o líneas de código.

Visual Expert calcula el número de elementos que componen tu aplicación para permitirte estimar el costo global de la migración de dicha aplicación.

Resultados Esperados

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

¿Cómo hacerlo?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. Tan pronto como el código es analizado, el número de objetos PowerBuilder, Oracle, PL/SQL, SQL Server y Transact-SQL serán mostrados en la vista principal.
  3. Para calcular el número de líneas de código PowerBuilder, selecciona un target, une PBL, un tipo de objeto (ventana, UO, DW...) o algún objeto específico de PB y da clic en "Líneas de código".
  4. Para calcular el número de líneas de código PL/SQL o Transact-SQL, selecciona un tipo de objeto en la vista principal o selecciona un objeto específico y da clic en “Líneas de código”.
  5. Para calcular el número de funciones, eventos, variables o constantes de PowerBuilder, selecciona un target, una PBL, un tipo de objeto (ventana, UO, DW…) o algún objeto específico de PB y dé clic en “Cuenta ítems”.

Encuentra y reemplaza funcionalidades obsoletas

Encuentra dónde una funcionalidad dada es usada en tu código

Ventajas

Es probable que debas reemplazar funcionalidades obsoletas en tu aplicación: funcionalidades PB obsoletas, funcionalidades no soportadas por la migración Appeon Web/Mobile, viejos objetos OLE, llamadas no seguras a servicios web.

Visual Expert te mostrará dónde cada funcionalidad es utilizada en tu código

Resultado esperado

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

¿Cómo hacerlo?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. Para encontrar las llamadas a una funcionalidad dada de PB (objeto built-in, control, método o atributo), selecciona la aplicación virtual “PowerBuilder System Object” en la parte superior de la vista principal. Enseguida da clic en “Todos los objetos PB”, localiza el objeto obsoleto (Por ejemplo: systemfuncitions.findclassdefinition) y da clic en “Análisis de impacto”.
  3. Para encontrar las llamadas a un objeto o método externo, verifica la lista de funciones externas: selecciona un target PB en la vista principal, dá clic en “Funciones externas” y busca el nombre de la función en la barra de búsqueda encima de la vista principal. Una vez que la función externa esté seleccionada, da clic en “Análisis de impacto”

Migración a 64-bit - Actaliza las dependencias dll

Encuentra llamadas a dlls- 32 bit

Ventajas

Algunas aplicaciones PowerBuilder incluyen llamadas a Windows APIs o se integran con aplicaciones de terceros al llamar sus dlls. Si estás migrando a 64-bit, necesitas verificar si tu aplicación está usando dlls 32-bit y actualizar cada una de dichas referencias.

Visual Expert hace una lista de las dll utilizadas por tu aplicación así como las funciones dll llamadas y también encuentra todas las referencias a cada una de las funciones dll en el código PowerBuilder.

Resultado esperado

Find calls to 32-bit dlls in your PowerBuilder Code

¿Cómo hacerlo?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. Para encontrar las llamadas a una función dll dada, abre la lista de dlls en la vista principal, dá un doble clic en la dll, selecciona la función dll que buscas y da clic en “Análisis de impacto”.
  3. Para identificar los objetos PowerBuilder que declaran funciones desde una dll, selecciona la dll en la vista principal y da clic en “Componente PB asociado”.
  4. Para encontrar funcionalidades de una dll, que están declaradas, pero no utilizadas en tu código, selecciona la dll y da clic en “Funciones ext no usadas”.

Revisa las dependencias cliente/servidor

¿Qué objetos utilizan las tablas y de qué manera (Matriz CRUD) ?

Ventajas

Dependiendo de la naturaleza de la migración, puedes tener necesidad de revisar y actualizar las dependencias a las tablas de la base de datos.

Esta matriz te muestra qué objetos de Powerbuilder y de la BD están llamando tablas, también indica el tipo de acceso(Create, Read, Update, Delete).

Resultado esperado

Overview of Process-to-Data dependecies in PowerBuilder

How to get there?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. En la vista principal, da doble clic en el ícono de las tablas, selecciona una o varias tablas, enseguida da clic en “Crear una matriz CRUD”. Un archivo Excel se generará con la matriz CRUD el cual puedes abrir, comentar y compartir en caso necesario.
  3. Si necesitas mayor información sobre las dependencias de una tabla en particular, selecciona dicha tabla en la vista principal y enseguida da clic en “Análisis de impacto”. Todas las llamadas a dicha tabla aparecerán.
  4. Selecciona un objeto en el resultado para ver las referencias exactas en el código.

¿Qué objetos llaman qué procedimientos almacenados?

Ventajas

Como lo hicimos para un tabla (ver más arriba) puedes necesitar ver y actualizar las dependencias a los procedimientos almacenados. Por ejemplo, si debes reemplazar algunas de ellas por servicios web.

Para cada PBL, Visual Expert muestra la lista de objetos PowerBuilder que llaman a los procedimientos almacenados, también indica los procedimientos llamados y muestra las referencias correspondientes con el código PB.

Resultado esperados

Find the PowerBuilder objects calling stored procedures

¿Cómo hacerlo?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. Selecciona una o varias PBLs en la vista principal y da clic en “Dependencias SP”. El resultado aparecerá ya sea que hayas incluído o no el código de los procedimientos almacenados en tu proyecto (Oracle PL/SQL o SQL Server Transact-SQL). Para crear esta lista, el analizador de código de Visual Expert encuentra las referencias a los procedimientos almacenados en el código PB.
  3. En el resultado, selecciona un objeto PowerBuilder para ver les referencias a los procedimientos almacenados en tu código.
  4. Si sólo necesitas listar las referencias a un procedimiento almacenado dado, selecciona dicho procedimiento y da clic en “Análisis de impacto”.

Aísla los módulos del resto de la aplicación

Verifica las dependencias entre las PBLs

Ventajas

Durante la migración, puedes necesitar aislar ciertas partes de tu aplicación para:

  • Migrar un subconjunto de funcionalidades a Appeon Web o Appeon Mobile
  • Dividir un volumen de código en subconjuntos
  • Mover cierta lógica de PowerBuilder al servidor (hacia servicios Web, procedimientos almacenados, dlls…)

Visual Expert muestra las dependencias entre las PBLs y tu aplicación.

Si seleccionas varias PBLs que componen un módulo dado, puedes verificar y actualizar las dependencias con otras PBLs o módulos

Resultado esperado

Review PBLs Dependencies in your PowerBuilder Code

¿Cómo hacerlo?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. En la vista principal, da doble clic en el ícono PBL, selecciona las PBLs que componen tu módulo y da clic en “Dependencias PBL”.
  3. Si las dependencias a una PBL dada deben ser examinadas en detalle, selecciona la PBL y da clic en “Referencias Externas”

Documenta las modificaciones hechas durante la migración

Compara el código antes y después de la migración

Ventajas

Una vez que hayas terminado la migración, puedes conservar un historial de todos los cambios efectuados durante la migración, para poder estudiarlos en caso necesario.

Resultado esperado

Compare Versions of your PowerBuilder Code before and after migration

¿Cómo hacerlo?

  1. Instala Visual Expert para PowerBuilder y crea un nuevo proyecto para analizar tu código.
  2. En la vista principal, selecciona una PBL o un objeto PB de tu elección.
  3. En el menú, ve a la opción “Comparación” enseguida da clic en “Comparar con análisis”.
  4. Selecciona el análisis de tu preferencia, da clic en “Comparar”
PowerBuilder, Oracle, SQL Server, Code Exploration, VE 2017