Noticias

Usando la GeneXus Database Reverse Engineering Tool

Descubra cuan fácil es usar la nueva y poderosa herramienta de reverse engineering de GeneXus

La versión 9.0 de GeneXus incluye entre sus utilitarios el Database Reverse Engineering Tool (DBRET). El DBRET es herramienta que permite realizar un proceso de ingeniería inversa de una base de datos existente. Es decir, partiendo de la definición de una base de datos (estructura de tablas y sus relaciones) crea un modelo de datos GeneXus que lo soporte.

Quizás muchos conozcan a su antecesor, el Data View Generator. Si bien el concepto es el mismo, esta versión incluye nuevas funcionalidades que facilitan aún más este proceso y notables mejoras en la creación del modelo de datos que representa esa base de datos.

Los objetivos de uso de esta herramienta pueden ser muy diversos, desde simplemente acceder una tabla de otro sistema para con GeneXus generar programas para leer, actualizar, o simplemente publicar esa información, hasta realizar toda una reingeniería de un sistema legado.

¿Cómo usar el DBRET Wizard?

Trabajar con esta herramienta es muy sencillo, solo requiere ejecutar una serie de pasos guiados por un asistente. Veamos un ejemplo.

Tomaremos la base de datos que viene con SQL Server 2005, llamada Adventure Works, que simula la base de datos operativa de un sistema de venta de accesorios deportivos.

El DBRET se puede ejecutar desde GeneXus (Tools / Database Reverse Engineering Tool) o desde el menú de Programas, debajo del grupo GeneXus ejecutamos la opción Database Reverse Engineering Tool 1.0.1. Como es la primera vez que nos vamos a conectar a esa base de datos, seleccionamos la opción New Connection Information y luego Next.

En la segunda pantalla debemos configurar las opciones de conexión a la base de datos (DBMS, nombre de la base de datos, usuario, etc).

Esta versión incluye varios métodos de acceso al DBMS, como ODBC, ADO.NET o JDBC. Algunos requieren la instalación de drivers adicionales. Consulte aquí la sección Requerimientos por más información.



1. DBRET - Connection Information

Como resultado de este paso (luego de presionar Next), se crea lo que llamamos la metadata del DBRET. Es un archivo xml con toda la información de las tablas, índices y relaciones existentes en la base de datos.

La ventaja de este archivo es que nos permitirá agregar conocimiento en nuestra KB en forma incremental, sin necesidad de volver a conectarse a la base de datos.

El segundo paso es seleccionar las tablas que deseo incorporar a mi Base de Conocimiento.



2. DBRET - Table Selection

Una vez seleccionadas todas las tablas que deseo incorporar en mi modelo, se pasa al reporte final.

Es aquí donde se realiza el proceso de ingeniería inversa y se crean los objetos GeneXus necesarios para representar ese modelo de datos. Esto implica crear las tablas y atributos siguiendo la convención URA que se utiliza en GeneXus para nombrar los mismos (y relacionar las tablas).

La mayoría de las base de datos no siguen esta convención de nombres para establecer las relaciones entre sus tablas sino que se definen reglas de integridad referencial. El DBRET se basa en esas reglas para definir los nombres de los atributos en las diferentes tablas.

TIP: Si la base de datos seleccionada no tiene integridad referencial entre sus tablas, pero utiliza esta misma convención de nombres para relacionarlas, cambie la propiedad Namming Rule a same name - same thing .

Si desea saber más acerca de este punto consulte el documento Reverse Engineering Process Overview.

En la última pantalla del asistente podemos ver un reporte con los objetos GeneXus a ser consolidados. Si el DBRET fue llamado desde GeneXus, esta información será consolidada automáticamente en la KB una vez presionado el botón Finish. En caso contrario se creará un xpz (distribution file) que podría luego consolidar en GeneXus mediante el Knowledge Manager.



3.  DBRET Final Report

TIP: Si desea agregar nuevas tablas a una Base de Conocimiento donde previamente ha agregado tablas de esa misma base de datos externa, recomendamos llamar al DBERT desde GeneXus, ya que en este caso, el proceso de ingeniería inversa tendrá en cuenta las tablas y Data Views ya definidos en la KB, para establecer o evitar relaciones (dependiendo de la información en la metadata) con las nuevas tablas (vistas) a consolidar.

Ahora ya puede generar las Transacciones y manipular los datos de las tablas externas desde una aplicación GeneXus. También puede crear nuevos objetos o utilizar GeneXus Patterns para crear todo un sistema web sobre esa base de datos, sin programa una línea de código& ¡Pruébelo!



4. Patterns over Transactions imported by DBRET

Por más información acerca del DBRET ver:
http://www.gxtechnical.com/dbret

Si desea conocer más acerca del proceso de ingeniería inversa realizado ver:  http://wiki.gxtechnical.com/wiki/tiki-index.php?page=ReverseEngineeringProcess