"Usabilizando" GeneXus (Diagrama de Tablas y Diagrama Call Browser)
De la serie "Usabilizando" GeneXus
Una de las características buenas de las base de conocimiento Genexus es que perduran mucho años, pues el conocimiento es mas perdurable que las tecnologias. Nosotros tenemos varias de mas de 10 años y durante todos estos años, las mismas crecen, teniendo muchos objetos.
Es comun tener KB que generan bases de datos, con varios cientos de tablas.
El enteder un modelo de datos, con este volumen de informacion, se hace muy complicado.
GeneXus posee un diagramador de tablas, que ayuda a enteder la relación de integridad entre las tablas. Este diagramador de tablas, creo que se introdujo con la primver version windows de GeneXus, pero no ha evolucionado junto con la evolucion de la herramienta.
Los diagramas que generan en forma automática para KB medianas o grandes, son totalmente inutiles, pues la cantidad de tablas y sus relaciones, generan diagramas ilegibles.
Se pueden hacer ajustes a mano, moviendo tablas, pero lograr algo que se entienda, es un trabajo enorme.
Las dificultades son que el digrama nunca entra entero en la pantalla (ni aun con el FitWindow).
Estaria bueno tener algo que permitiera agregar tablas y despues agregar un nivel de integridad referencial (o sea las referenciadas por la tabla o las tablas que son referenciadas por algun atributo de mi tabla).
Hace varios años, en el proyecto de grado de Marcos Crispino y Ana Rozza, habian implementado un diagramador de tablas, que permitia generar diagramas con mucho menos cruces de lineas, en forma automática. Hay una presentacion en un encuentro GeneXus sobre esto.
Se usaron dos algoritmos diferentes para compararlos:
El primero y mas efectivo era uno que daba cargas magneticas a las tablas (de forma que se repelian entre ellas) y le asignaba una fuerza similar a la de un resorte a las lineas (de forma que las tablas se atraen).
El algoritmo era sencillo y ademas tenia la ventaja de poder asimilarse a algo fisico y los resultados eran buenos.
El segundo, usaron programacion genetica, en el cual se comparaban los diagramas y sobrevivian los mejores de una generacion a la siguiente. Los resultados eran mas o menos buenos, pero la convergencia a un diagrama util, era un poco lenta y bastante dependiente de la poblacion inicial.
Creo que con las computadoras actuales, este seria un problema menor y aunque demore, va a demorar MUCHO menos que hacerlo hoy a mano.
En todos estos años, han aparecido varias tecnicas de visualizacion de grandes volumenes de datos y creo que la comunidad Genexus se merece un mejor diagramador de tablas.
Un ejemplo se puede ver aqui, donde se pueden tener schemaballs.
Tambien seria bueno mejorar el Call Browser, de forma de poder ver simultaneamente quienes llaman y a quienes llama el programa que estoy evaluando. Pongo un ejemplo de FrontPage, pues creo que no es dificil de implementar.
Haciendo Click en un objeto, el mismo pasa al centro.
Una de las características buenas de las base de conocimiento Genexus es que perduran mucho años, pues el conocimiento es mas perdurable que las tecnologias. Nosotros tenemos varias de mas de 10 años y durante todos estos años, las mismas crecen, teniendo muchos objetos.
Es comun tener KB que generan bases de datos, con varios cientos de tablas.
El enteder un modelo de datos, con este volumen de informacion, se hace muy complicado.
GeneXus posee un diagramador de tablas, que ayuda a enteder la relación de integridad entre las tablas. Este diagramador de tablas, creo que se introdujo con la primver version windows de GeneXus, pero no ha evolucionado junto con la evolucion de la herramienta.
Los diagramas que generan en forma automática para KB medianas o grandes, son totalmente inutiles, pues la cantidad de tablas y sus relaciones, generan diagramas ilegibles.
Se pueden hacer ajustes a mano, moviendo tablas, pero lograr algo que se entienda, es un trabajo enorme.
Las dificultades son que el digrama nunca entra entero en la pantalla (ni aun con el FitWindow).
Estaria bueno tener algo que permitiera agregar tablas y despues agregar un nivel de integridad referencial (o sea las referenciadas por la tabla o las tablas que son referenciadas por algun atributo de mi tabla).
Hace varios años, en el proyecto de grado de Marcos Crispino y Ana Rozza, habian implementado un diagramador de tablas, que permitia generar diagramas con mucho menos cruces de lineas, en forma automática. Hay una presentacion en un encuentro GeneXus sobre esto.
Se usaron dos algoritmos diferentes para compararlos:
El primero y mas efectivo era uno que daba cargas magneticas a las tablas (de forma que se repelian entre ellas) y le asignaba una fuerza similar a la de un resorte a las lineas (de forma que las tablas se atraen).
El algoritmo era sencillo y ademas tenia la ventaja de poder asimilarse a algo fisico y los resultados eran buenos.
El segundo, usaron programacion genetica, en el cual se comparaban los diagramas y sobrevivian los mejores de una generacion a la siguiente. Los resultados eran mas o menos buenos, pero la convergencia a un diagrama util, era un poco lenta y bastante dependiente de la poblacion inicial.
Creo que con las computadoras actuales, este seria un problema menor y aunque demore, va a demorar MUCHO menos que hacerlo hoy a mano.
En todos estos años, han aparecido varias tecnicas de visualizacion de grandes volumenes de datos y creo que la comunidad Genexus se merece un mejor diagramador de tablas.
Un ejemplo se puede ver aqui, donde se pueden tener schemaballs.
Tambien seria bueno mejorar el Call Browser, de forma de poder ver simultaneamente quienes llaman y a quienes llama el programa que estoy evaluando. Pongo un ejemplo de FrontPage, pues creo que no es dificil de implementar.
Haciendo Click en un objeto, el mismo pasa al centro.
Que le agregaran eso al Call browser estaria genial.
ResponderBorrar