Entradas

Mostrando las entradas de marzo, 2016

Mesa rendonda virtual: Pruebas de aplicaciones GeneXus

Imagen
Este jueves 31 de Marzo a las 19:00 de Uruguay, estaremos hablando sobre como realizar pruebas (TESTING) en aplicaciones generadas con GeneXus.
Tenemos invitados a Guillermo Skrilec Genexus Consulting y Maria Pilar Albacete de Abstracta.

Las preguntas que intentaremos contestar son :
Cómo define las Pruebas de sistemas?Cuales son los diferentes tipos de pruebas que existen? Cuales son las diferencias de probar aplicaciones GeneXus y otras aplicaciones hechas con otro herramientas?Que herramientas utilizan para realizar pruebas en aplicaciones GeneXus?Cuales son las principales dificultades encontradas en proyectos de pruebas? Conviene automatizar las pruebas? Porqué?. En que casos?Que ventajas tiene hacer pruebas en sistemas hechos con Genexus?Como ve el futuro de las pruebas en sistemas GeneXus? ConclusionesSe podrá ver en el canal youtube del GUG

Mesa rendonda virtual: Integración Contínua con GeneXus.

Hoy (Jueves 17 de Marzo) a las 19:00 horas de Uruguay, hacemos una mesa redonda virtual para hablar sobre Integración Contínua, que es para definirlo en forma sencilla, es una metodología para integrar el trabajo de varios desarrolladores en forma rápida, que ha dado buenos resultados en algunas empresas y puede servirle a varios.

Trataremos de contestar las siguientes preguntas
PreguntasQue es la Integración Continua?Que caracteristicas tiene la integracion continua con Genexus?Que herramientas utilizan para manejar la integracion continua?Que dificultades encontraron?Que ventajas tiene utilizar Integracion Continua en proyectos GeneXus? Se puede ver aca


Nueva versión de KBTools (2016-03)

Imagen
Subí una nueva versión de KBTools, que tiene algunas cosas interesantes.

Se agregan los utilitarios: 

KBBackup
Hace un backup de las base de datos de las KB.
Pide un directorio origen (donde estan las KB) y un directorio destino (donde se salvaran los archivos de backup) y realiza 
un backup de dichas bases de datos. 
Es util para respaldar el trabajo del PC en un disco externo o en la nube. 

KBCompile
Compila todos los mains de una KB. 

KBWSDL
Recibe una url donde se instala la aplicacion y un archivo con todos los nombres de los Webservices SOAP. 
Guarda una foto de los WSDL de los web services, para poder comparararlas luego. 

KBBuildAll
Recibe un directorio de una KB y si se quiere hacer rebuild all o solo build all forzado y lo ejecuta. 
Con pequeñas modificaciones sirve para hacer Integracion Continua.


Mejoras
* KBProcessOutputLog Se mejoro el armado de la lista de objetos con error en C#. Se toman en cuenta los procedures main (que agregan una "a" al principio y los business compon…

Modularizando bases de conocimiento.

Imagen
Una de las funcionalidades mas promisorias de GeneXus X Evo3, es la posibilidad modularizar la KB.
Las ventajas son muchas, pero tener una KB bien modularizada, ayuda a entenderla, facilita mucho el mantenimiento y ayuda a instalar la aplicación.
Que es modularizar? Dividir la KB en módulos (o grupos de objetos) de tal forma que sea mas fácil de entender, cambiar y manejar.



Porque modularizar?Partiendo el problema y permitiendo resolverlo incrementalmente. Permite distribuir las tareas de desarrollo entre diferentes personas/equipos.Definir interfaces claras entre dominios, facilita también la reutilización de un módulo en otro contexto del original. Dependencias.  Decimos que un módulo depende de otro, o usa otro módulo, cuando llama o utiliza un objeto publico de otro módulo.  Por ejemplo, si tengo un módulo A que tiene los objetos que hacen el manejo de parámetros de la aplicación y otro módulo B necesita recuperar el valor de un parámetro, decimos que el módulo B depende del modulo …

Automatizando el BUILD ALL de la KB

Imagen
El jueves de la semana que viene, estaremos hablando de Integración Continua con GeneXus, en la Mesa Redonda Virtual del GUG Montevideo.

La idea es contar experiencias de integrar los cambios que se hacen en el grupo de desarrollo varias veces al dia, de forma de poder detectar conflictos y errores lo mas rapido posible y lo mas cercano posible a su generación.

Para esto, es fundamental tener automatizada la tarea del BUILD ALL en GeneXus. Varias personas me han preguntado como puede hacerse esto.

GeneXus provee tareas MSBUILD para realizar este trabajo en forma batch

Una forma simple de usarlo es tener dos archivos:

KBBuildAll.cmd

set KBDir=C:\MODELS\EV3\MIKB
set dirGX="C:\Program Files (x86)\Artech\GeneXus\GeneXusXE3" set ForceRebuild=true dirFramework=C:\Windows\Microsoft.NET\Framework\v4.0.30319 echo ---------------------------------- set /p Cancel="Rebuild %KBDir% ? (PRESS Ctrl-C to CANCEL - Any Key to CONTINUE) " %dirFramework%\MSBuild /nologo KBBuildall.msb…

Mesa Redonda Virtual: Manejo de ambientes en proyectos GeneXus

Imagen
Hoy (jueves 3 de Marzo 2016) a las 19:00 estaremos hablando en una mesa redonda virtual, con los colegas del GUG Montevideo, sobre el manejo de ambientes en proyectos Genexus.

El nombre de la charla es bastante difícil de entender, pues no hay una definición consensuada de que es un ambiente.

Un ambiente es una instalación de la aplicación generada, con programas y base de datos, que tenga algun fin especifico.
Ejemplos de ambientes, son

Desarrollo - Donde desarrolla cada personaPruebas - Donde se realizan las pruebas del sistemaCapacitacion - Los usuarios nuevos aprenden a trabajar con el sistemaPre-Produccion - Donde se validan las nuevas funcionalidades del sistemaProduccion - Donde ejecutan el sistema real
Nos referimos a como manejar el pasaje de nuestros desarrollo desde el ambiente de desarrollo, al ambiente de pruebas y luego a producción. Es una tarea engorrosa y que es proclive a cometer errores.

La idea de hoy, no es hablar sobre como se hace el build y deploy de la KB, si…

KBDoctor: Nueva opcion para generar Transacciones desde tablas.

Imagen
En varias oportunidades me encontré con las  necesidad de generar transacción 'limpias' con las misma estructura que las tablas.

Por ejemplo, hace unos días, me dieron una KB que estaba en GX 7.5 que tenia una transccion con 8 NIVELES!! y al intentar migrarla a Evo3 daba errores.

Para estos casos, lo que hago es generar transacciones con la misma estructura que la tabla, sin ninguna regla y con la propiedad de GenerateObject=NO, para que no molesten y luego me dedico a cambiar la transacción en cuestión o a borrarla si se puede.

Otro escenario de uso, es cuando se tiene una KB desarrollada con versiones anterior a la cual le quiero aplicar el pattern WorkWith y me sirve empezar con transacciones sencillas

Para eso, agregue una opción en KBDoctor, que permite seleccionar un conjunto de tablas, y genera una transacción por cada una de ellas, respetando los atributos, la descripción, la clave, etc de las mismas.

Otro caso, es cuando se tiene una transacción que tiene mas de un n…