GeneXus y modelo fisico - Herramientas necesarias

Comentando el post anterior, un colega me preguntó que tipo de herramientas podrían desarrollarse para el manejo de modelo físico, dentro de KB GeneXus.

Lo que me gustaría es poder ver el modelo físico que hoy GeneXus intenta ocultar a los desarrolladores, pero que tiene mucha de la información necesaria.

Una vista interesante, seria poder ver las tablas por Data Store

DataStore1
    Tables/DataViews
         TABLA1
              * atributo1
                atributo2
                atributo3
             INDICES
                 Indice1
                     atributo2 (desc)
                 Indice2

                     atributo3
          Referential Integrity
                     Referenced by 
                                TABLA3
                     Referenced from
                                TABLA4 
  
          DataView1  (Asociated table TABLA3)
                  attexterno1
                  attexterno4
     
De las tablas, me gustaría poder especificar si es una tabla con alta cardinalidad y que % de crecimiento puede tener, lo cual puede servir para prever el funcionamiento del sistema.

También podría servir para que GeneXus sea algo mas inteligente en la definción de indices.
Por ejemplo, hoy tengo una tabla de parámetros, que tiene solo un registro. Si a la misma le defino atributos con subtipos (por ejemplo, países, monedas, etc) para que solo se puedan ingresar parámetros validos, hoy GeneXus define indices para cada uno de ellos.
Si especifico que una tabla solo va a tener un registro, GeneXus no debería definirle ningún índice.

Desde esta vista de las diferentes bases de datos de la aplicación, se podrían cambiar las propiedades de conexion y regenerar los archivos de configuracion (web.config, client.exe.config, client.cfg, etc).

Para el manejo de servicios web, estaria bueno tener una forma de verlos en forma global.

Web Services
      Servicio1   (SOAP)
               Parameters
                          IN: Parametro1, Parametro2, Parametro2

                          OUT: Parametro4
      Servicio2   (REST)
                 Parameters
                           IN: Parametro5
                           OUT: Parametro6

 [GENERATE location.xml]    [EDIT location.xml]   [Test WS]

Desde aqui se podria generar el archivo location.xml y también editarlo.
Seria bueno poder probar los web services en forma interactiva..

Otras cosas que podria tenerse en el modelo fisico, es poder modelar los diferentes ambientes de ejecucion de un mismo juego de ejecutables (desarrollo, pruebas, produccion, etc) y poder almacenar ahi las reglas de transformacion para adaptar los archivos generados por GeneXus.

El ambiente de desarrollo y el de pruebas, tendrian los mismos ejecutables, pero diferentes archivos para los Themes, diferentes location.xml, diferentes web.config, etc.

Se pueden almacenar los archivos directamente en cada ambiente o se puede poner las reglas de transformacion que permita cambiar el web.config que genera GeneXus y cambiarlo por el web.config que se necesita en el nuevo ambiente (por ejemplo, cambiando usuario / contraseña por otros.  Lo mismo se puede hacer con los temas.

Hay muchas herramientas posibles  que pueden y deben hacerse, para facilitarnos la vida.

Comentarios

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.