PowerBuilder

Análisis arquitectónico integral con el Explorador de Dependencias de PowerBuilder

AutorLuis Avilan
Publicado
Mapa visual de dependencias entre proyectos PBT, bibliotecas PBL y vistas arquitectónicas
PB

3 visualizaciones

Versión ampliada en español del contenido publicado por Luis Avilan en Appeon Community.

Comprender la estructura de un proyecto de gran escala es un desafío constante. El Explorador de Dependencias analiza archivos PBT y bibliotecas PBL para descubrir, mapear y visualizar las interacciones entre componentes. Sus vistas dinámicas convierten el código fuente en información arquitectónica útil para tomar decisiones.

¿Qué problema resuelve el Explorador de Dependencias?

En aplicaciones maduras, modificar un objeto base puede provocar efectos en cascada difíciles de anticipar. La herramienta reduce ese riesgo mediante análisis estático: lee el proyecto, identifica sus bibliotecas, extrae los objetos y construye un mapa completo del acoplamiento antes de iniciar una refactorización.

Integridad del proyecto: el archivo PBT debe contener una lista de bibliotecas válida y accesible. Antes de extraer datos, el sistema comprueba la existencia de cada ruta declarada en liblist.

Arquitectura del sistema

• w_explorador_dependencias coordina la interfaz, la selección del PBT y el control WebBrowser utilizado para mostrar las visualizaciones.

• nvo_lector_pbt interpreta el archivo PBT y valida la lista de bibliotecas que forman el espacio de trabajo.

• nvo_analizador_pbl inspecciona cada PBL, identifica ventanas, funciones, estructuras, DataWindows y otros objetos, y consolida las métricas globales.

• nvo_analizador_dependencias evalúa los objetos, determina las relaciones entre ellos y genera representaciones JSON de nodos y aristas.

• nvo_generador_html combina los datos JSON con plantillas HTML y bibliotecas JavaScript para producir las vistas de grafo, flujo, árbol y arquitectura.

Esta separación modular mantiene independientes la lectura y el análisis de datos de su representación visual, lo que facilita extender los motores gráficos sin alterar el núcleo del explorador.

Explorador de Dependencias de PowerBuilder mostrando el grafo y las estadísticas de objetos

Visualización dinámica de los datos

El explorador aprovecha el control WebBrowser nativo de PowerBuilder para integrar motores modernos de visualización. El usuario puede cambiar de perspectiva según el objetivo del análisis:

• Grafo: red interactiva que permite reconocer nodos con muchas conexiones y grupos con alto acoplamiento.

• Diagrama de flujo: perspectiva útil para seguir secuencias lógicas y jerarquías de herencia.

• Árbol: estructura expandible para navegar desde la aplicación principal hasta los objetos base.

• Arquitectura: vista organizada que clasifica los componentes según la función que cumplen dentro del sistema.

Integración de PowerBuilder, JSON y tecnologías web

El núcleo del análisis produce cadenas JSON con nodos, aristas y estadísticas. Estos datos se inyectan en archivos HTML temporales que el visor integrado carga mediante WebView2.

1is_json_nodos = inv_analizador_dep.of_generar_json_nodos()
2is_json_aristas = inv_analizador_dep.of_generar_json_aristas()
3ls_html = inv_generador.of_generar_html_grafo( &
4 is_json_nodos, is_json_aristas, is_json_estadisticas)
5inv_generador.of_guardar_html(ls_html, ls_ruta)
6wb_visor.Navigate("file:///" + ls_ruta)

Este patrón permite que PowerBuilder funcione como un motor sólido de procesamiento mientras delega las visualizaciones complejas a tecnologías web actuales.

Flujo completo de ejecución

1. El usuario selecciona un archivo de proyecto PBT desde la interfaz.

2. nvo_lector_pbt obtiene la lista completa de bibliotecas asociadas.

3. nvo_analizador_pbl recorre cada biblioteca, clasifica sus objetos y consolida las estadísticas.

4. nvo_analizador_dependencias cruza la información y construye el mapa de interdependencias.

5. El sistema compila los nodos, las aristas y las métricas en formato JSON.

6. nvo_generador_html crea la vista seleccionada y la carga en el control WebBrowser.

Aplicaciones estratégicas

• Análisis de impacto: identifica las áreas que deben probarse cuando se modifica un objeto base.

• Refactorización: ayuda a detectar dependencias circulares y zonas de alto acoplamiento que requieren rediseño.

• Incorporación de desarrolladores: entrega un mapa visual inmediato de una aplicación desconocida.

• Auditoría de calidad: produce estadísticas objetivas sobre el tamaño y la complejidad del proyecto.

Requisitos para ejecutar el demo

• PowerBuilder 2022 o 2025, con una versión compatible con el control WebBrowser basado en Chromium.

• Conexión a Internet durante la ejecución, porque el visor carga bibliotecas gráficas como vis-network desde CDN.

• Microsoft Edge WebView2 Runtime, incluido normalmente en versiones recientes de Windows.

• Un archivo PBT y sus bibliotecas PBL correspondientes para realizar un análisis real.

Conclusión

El Explorador de Dependencias va más allá de la navegación tradicional del código: ofrece una radiografía de la arquitectura completa. Al combinar el análisis estático de PowerBuilder con visualizaciones web dinámicas, ayuda a reducir deuda técnica, planificar cambios con mayor seguridad y dominar sistemas empresariales complejos.

El ZIP relacionado con este artículo incluye el proyecto PowerBuilder listo para abrir y está disponible en Descargas.