Entradas

Mostrando las entradas de diciembre, 2019

GetLocation() y sus errores en producción.

Imagen
En GeneXus para hacer paramétrico el consumo de servicios web SOAP, se necesita usar la funcion GetLocation()  . Por ejemplo: &Location = GetLocation('LocationName') El 'LocationName', es un string que depende de: * Nombre de objeto External Object SOAP * Modulos en los cuales esta el external object. Por ejemplo, si tengo el external object &Calc basado en el EO  &Calculator y está en el modulo CALCULADORA, que a su vez esta en el modulo FUNCIONES, el nombre será FUNCIONES_CALCULADORA_Calculator Entonces en mi codigo voy a tener: &Location = GetLocation('FUNCIONES_CALCULADORA_Calculator') &Location.Host=DevuelveHost() ... &Resultado=&Calc.Add(10,20) Que problema tiene este código? El problema es que dicho código es demasiado frágil ante cambios de la KB. Si cambio el nombre del external object, o si cambio la modularizacion (nombre de modulo, muevo un modulo, etc) la función devuelve un &Location vacio

Proyectos de innovación de 2019 de Concepto.

Imagen
En CONCEPTO, el año 2019 fue un buen año para la innovación. Estamos trabajando en varios proyectos novedosos y que van a permitir mejorar la productividad de nuestros clientes. Algunos de los proyectos que realizamos: Incorporación de Blockchain en intercambio con Aduanas del Mercosur (Operador Económico Autorizado) Pilotos de Inteligencia Artificial (Redes Neuronales, procesamiento de lenguaje natural, clasificación de descripciones comerciales, geolocalización de compras por internet) Primeros Pasos en BOTs (tenemos un prototipo funcionando con Whatsapp y GeneXus) Migración a la ultima versión de GeneXus 16 de varias bases de conocimiento. Automatización de Build y Deploy con Jenkins. División de una KB grande en tres KB más modulares, con deploy independiente y automatizado. Proyecto de Business Intelligence con Pentaho Utilización de .NET Core en proyecto piloto Incorporación de modelo de datos de la OMA (Organización Mundial de Aduanas) en algunos mensajes del sistema

Receta: Como limpiar una KB GeneXus

Imagen
Ingredientes KB GeneXus madura (de mas de 2 años) GeneXus (Evo3 o Superior, si es 16, mucho mejor) KBDoctor ( http://marketplace.genexus.com/product.aspx?kbdoctor,en ) LSIExtensions ( http://marketplace.genexus.com/product.aspx?lsiextensiones,en ) VariableCleaner ( https://marketplace.genexus.com/product.aspx?variablescleanerbydvelop,en ) KBTools ( https://marketplace.genexus.com/product.aspx?kbtools,en ) Build all exitoso (sin errores) Preparación 1 - Crear un punto de retorno seguro.  Las tareas de limpieza pueden borrar mas cosas de las deseadas, por lo que es importante crear siempre un punto seguro de retorno, por si algo sale mal.  Lo recomendable es hacer un Export de toda la KB y sus propiedades con GeneXus.  Ademas del export, es bueno hacer un Versión congelada y ponerle el nombre "Antes de la limpieza".  View / Versions / (botón derecho) Freeze  2 - Revisar la KB y Comprimir la KB.  Salir de GeneXus y desde la linea de comandos, usar la