Entradas

Mostrando las entradas de noviembre, 2017

Porque jodes tanto con modulos?

Imagen
Un amigo me preguntó porque me había dedicado desde hace algún tiempo, a trabajar en la modularización de KB, si hasta el momento nos habíamos arreglado sin módulos y podíamos hacer aplicaciones sin problemas.

El conocía las dificultades del proceso de modularización y los cambios que implica introducir módulos al proceso de desarrollo, pero no veia las ventajas de tener todo bien modularizado.

Mi razonamiento para tener una KB modularizada, es bastante sencillo:

Es la única forma rentable que veo, con la que podremos resolver problemas mayores en el futuro, con GeneXus.

Paso a explicar un poco.

GeneXus es una herramienta que resuelve muy bien el desarrollo de pequeñas aplicaciones. Cuando uno trabaja con 10 tablas, es difícil encontrar algo que demore o funcione lento.

Cuando trabajamos con 100 tablas, el proceso de normalizacion y reorganización puede ponerse un poco mas pesado, pero no hay nada que un build all (o en el peor de lo casos un rebuild all) soluciona casi todos los prob…

GeneXus Modularity Maturity Model

Imagen
El tema de modularización de bases de conocimiento me parecen uno de los mas importantes para los próximos años. El definir módulos en las KB (nuevas y existentes) es un trabajo interesante, con grandes ventajas para la evolución de los sistemas. 
Para ordenar el proceso de modularizacion y poder saber cuanto me falta,  se me ocurre una escala de madurez, en el manejo de los módulos.
Nivel 1 - La nada absoluta - Solo tengo el modulo Root  - Todos los objetos son públicos. Puede servir para KB de menos de 200 objetos.  Es como quedan todas las KB migradas desde versiones anteriores a Evolution 3. 
Nivel 2 - Defino algunos módulos. - Empiezo a definir algunos módulos - Algunos objetos son públicos sin necesidad. 
Nivel 3 - Modularizo - Todo objeto esta en un modulo - Minimizo cantidad de objetos públicos - Hay tablas marcadas como publicas. No permito update/insert/delete a tablas fuera del modulo al que pertenecen. 
Nivel 4 - Minimizo acoplamiento, maximizo cohesion y evito ciclos - Se traba…