Batchisando el desarrollo con GeneXus: GeneXus Server Extensions


En GeneXus X Evolution I, se incorporó un producto nuevo que se llama GeneXus Server.

El mismo permite almacenar en un servidor la base de conocimiento de forma que un grupo de trabajo (que puede estar distribuido geográficamente) comparta la misma, haciendo mucho mas fácil y con menos errores el desarrollo de grandes aplicaciones.

Si bien no hay demasiada documentación aún, me han comentado en forma no oficial que se van a poder programar extensiones para GeneXus Server, de forma que se puedan agregar funcionalidad no brindada en forma nativa.




Cuales podrían ser estas extensiones?

Incorporación de pruebas unitarias que estén asociados a objetos y que cada vez que se hace un COMMIT de los objetos (*) se ejecuten en forma automática las pruebas unitarias de dichos objetos y se informe si hay errores (o diferencias) con la versión anterior.

Comparador de Navegaciones. Cuando se tiene una nueva versión de los objetos, se puede revisar si la navegación sigue siendo igual que la anterior o si cambió algo.

Controles del tipo KBDoctor. Que se efectuen controles de varios tipos (nomenclatura, estilo, borrado de variables que sobran, objetos no alcanzables, etc) cuando se realiza un COMMIT.

Evaluador de Riesgo del Envio. Asociado a un COMMIT, prodriamos tener indicadores o métricas asociados al mismo. Estos indicadores pueden ser la cantidad de objetos cambiados, cantidad de objetos afectados (pueden ser más que los cambiados), cantidad de objetos que alteran su navegación, y una cantidad de etc. Se podría definir una heurística, de forma de poder medir el Riesgo de dicho cambio y testear con mayor cariño y dedicación a los cambios con un indicador de riesgo mayor.

Una vez que se tenga la cantidad suficiente de envios, se podria entrenar a una red neuronal para que ayude con la detección de envios riesgosos.

Otra funcionalidad que estaria buena, seria la de poder agrupar varios envios de cambios al GeneXus Server, y asociarle alguna etiqueta. Esto serviria para permitir rastreabilidad entre los sistemas de incidentes (Bug Trackers) y los cambios en la KB.

El tema da para bastante mas y las posibilidades que hay son muchas. Va a estar divertido.

Comentarios

  1. Extensiones en GeneXus Server!! con eso si que se pone lindo el tema!!

    Me encantó el comentario de..

    "Una vez que se tenga la cantidad suficiente de envíos, se podría entrenar a una red neuronal para que ayude con la detección de envíos riesgosos."

    Bueno, veo que inteligencia artificial es el siguiente paso en Concepto ;).

    Volviendo al tema de Batchisinando con GeneXus Server.

    Pienso que lo bueno de tener a GeneXus Server es lograr tener centralizado todo el conocimiento y que el mismo pueda ser analizado, procesado, y distribuido entre todos los desarrolladores, un único punto de acceso, múltiples desarrolladores.

    Junto con las extensiones se permitirá tener lógica de negocio del ciclo de desarrollo de forma centralizada, con lo cual cada empresa podrá plasmar con extensiones en base a sus propias necesidades (reglas, controles y automatismos).

    Algo que creo que debería de intentar invertir Artech es en incorporar a GeneXus Server un mecanismo que se permita orquestar lógica en el servidor, que sea orientado a usuario (sin programación) y que se permita hacer "Cascada" o "Jerarquías" de esa lógica (O un Flujo).

    La ventaja de Genexus Server es que las interfases de entrada (Acciones) son acotadas, con lo cual crear puntos de inicio o puntos en donde colgarse son menores.
    Si se implementa un método en donde se puedan colgar otros de forma "simple" y sea posible diseñar mediante interfase reglas o validaciones, el camino para "User Friendly" está mas acotado, muchos más se animarían a meterse en "Declarar reglas" (Nombres, Largos, Propiedades) y no programar extensiones (aunque un "Call a un programa externo siempre debe de existir para el usuario avanzado).

    Ya que Tenemos un modelo a nivel de los programas, sobre ese modelo se podrían crear reglas declaradas.

    Un ejemplo no funcional, sino para demostrar que tipo de declaración.
    "Por cada Programa Si Programa.Nombre comienza con (Lista valida) y
    Programa.isMain=false" -> Pasar a siguiente "de lo contrario" -> reporto error.

    Si en GeneXus Server puedo declarar Reglas (aunque después de forma dinámica sean compiladas en C# y evaluadas con el mismo), el potencial y ahorro en programación seria sorprendente, y sobre todo, lo declarado sería "un documento" visual sobre las reglas que deben de ejecutarse.

    Tiro la idea para que alguien se implemente una extensión...a ver quien se anima.

    ResponderBorrar
  2. David:
    Me alegro no ser el unico (*) que se alegra por tener Extensiones en GeneXus Server.. No van a ser tan vistosas como las Extensiones de GeneXus en el IDE, pero van a agregar muy buena funcionalidad.

    Lo de tener una forma declarativa de hacer validaciones, estas muy bueno y también el tener un workflow para el manejo del ciclo de desarrollo.

    Veremos cuanto se puede avanzar.

    PD: Iba a decir el unico nerd, pero podia quedar medio despectivo.

    ResponderBorrar
  3. Bueno, soy Nerd del tipo "apasionado", por temas variados, asociado especialmente a las ciencias y tecnología.
    No me siento identificado para nada con el tipo de Nerd denominado como "traga" o "bocho".

    Por surte con el tiempo han salido nuevas denominaciones, ya Nerd se está dejando de utilizar y comenzamos a escuchar cosas como Geek o Friki (con esos términos me identifico un poco más).

    No creo que seamos tan pocos!!

    Lástima que esto salga en un comentario que seguramente ya nadie leerá (Porque los Feeds se leen apenas salen)
    De lo contrario mi primer comentario hubiera sido.. (para ver si alguien más se suma).

    ¿Quien más le interesaría tener Extensiones en GeneXus Server? a ver.. que levanten la mano por favor !!!

    ¿No hay nadie en la comunidad que se sume?

    Se acepta un comentario como "Hola, yo me sumo".

    Si hay alguien que lee este comentario y le interesa darnos aliento (para no sentirnos únicos en el mundo), se agradece.

    Saludos a todos los Nerd, Geek y Frikies de la comunidad!!!, y para nuestros amigos Japoneses "Pasokon Otaku"!! (No hay que olvidarse que Google Translator existe, y que además tenemos a GeneXus en Japón ;) ).

    ResponderBorrar
  4. Hola, Enrique, Daniel.

    No son los únicos Geeks que están entusiasmados con Gx Server, yo creo que el futuro nos depara cosas muy buenas a los desarrolladores Genexus, no puedo esperar a ver lo que se vendrá en los próximos años.

    ResponderBorrar
  5. Aluziner, es bueno ver que la comunidad de Geeks es grande..

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

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

Aplicación monolítica o distribuida?

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