sábado, 14 de abril de 2007

KBDesigner: una GXextension de Nicolás Castagnet

Imagen de "KBDesigner: una GXextension de Nicolás Castagnet"Desde que comenzó el programa de Early Adopters de GXextensions, Nicolás Castagnet, de De Larrobla & Asociados, ha sido uno de los más entusiastas y participativos. Nicolás está trabajando duramente en un proyecto como parte de sus estudios, y ese proyecto incluye el desarrollo de una GXextension.

En algunas conversaciones "de pasillo" me contó lo que estaba haciendo y como me pareció algo muy interesante, el mes pasado lo invité a que viniera a ARTech para mostrarnos lo que estaba haciendo al equipo de desarrollo. La idea era que nos mostrara de qué se trataba exactamente, y ver si en base a su experiencia, había algo que podíamos hacer para dar mejor soporte a quienes desarrollan extensiones.

La verdad es que nos impresionó muy gratamente, y de hecho Nicolás Jodal aprovechó la oportunidad para comprometerlo a que dé una conferencia en el próximo encuentro de usuarios. Para una primera descripción del KBDesigner, voy a recurrir a sus propias palabras:

"Brinda un modelo para definir Consultas e Ingresos de Datos en un Sistema de Información a través de Diagramas de Navegación sobre las relaciones de la Base de Datos. Incluye un diseñador de diagramas, otro de formularios, y un generador que a partir de esta información crea los objetos GeneXus necesarios para implementar el sistema. La extensión no aspira a permitir diseñar sistemas complejos. Más que nada apunta a dar una solución para crear sistemas sencillos rápidamente (que tengan consultas e ingresos de datos)."
Lo que se ve en la imagen, es precisamente un objeto Navigation (es un tipo de objeto adicional, definido por el KBDesigner) y su correspondiente diagrama, cuyo editor también fue desarrollado por Nicolás. Estos diagramas se usan para diseñar la navegación que se desea que el usuario pueda hacer dentro de una aplicación. En el ejemplo, que corresponde a un sistema de manejo de proyectos, se ve cómo a partir de un proyecto, se podrá acceder a distintos formularios que muestren listas de requerimientos, documentos, o asignaciones de personas. Cada uno de esas listas a su vez habilitará el acceso a la edición de cada elemento particular, y por ejemplo a partir de un requerimiento, se podrá navegar a una lista de documentos o a una de personas asignadas, a partir de las cuales existen otras navegaciones posibles, y así sucesivamente.

Además de las navegaciones, es posible diseñar los formularios de cada una de las etapas, utilizando un editor también proporcionado por el KBDesigner, con el que de una forma guiada y muy declarativa, se realiza ese trabajo de manera rápida y potente.

Finalmente, a partir de las navegaciones y formularios, el KBDesigner utiliza su propio generador (basado en la misma tecnología de plantillas que emplean los GXPatterns), para construir (y mantener) los objetos GeneXus que implementan el sistema. Impresionante, ¿no?

De manera que para el próximo encuentro de usuarios, estén atentos a la conferencia sobre el KBDesigner; estoy seguro de que valdrá la pena ♦

3 comentarios:

Yunior dijo...

Creo que es una muy buena idea, de esta forma será mucho más fácil modelar el negocio, aumentando la productividad de Genexus.

Felicidades por esta idea espero que tengamos pronto acceso a esta herramienta.

Jose Lamas Rios dijo...

Gracias, Yunior

Las felicitaciones se las paso a Nicolás, y en cuanto a disponer de la herramienta, te diría que no eres el único que está ansioso

Nico. C. dijo...

Gracias Yunior por el apoyo. Aún estoy trabajando en ella, haciéndole los últimos retoques.

La herramienta es parte de un proyecto de facultad que apunta a estudiar los beneficios de esta forma de trabajo.

Por lo pronto, te comento que registré una sesión en el evento para hablar sobre este tema y mostrarles la herramienta, así que espero que podamos vernos allá.

Saludos,
Nicolás