Entradas

Mostrando las entradas de marzo, 2007

Applications Pools en IIS 6.0

Cuando se desarrolla con .NET aplicaciones WEB, muchas veces cuando se cambia del Framework 1.1 a compilar con el Framework 2.0, aparece el error "It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process." El mensaje es muy claro y significa que todas las aplicaciones de un Application Pool debe ejecutar con la misma version de Framework. Lo mas sencillo, consisten en configurar todas las aplicaciones o directorios virtuales a que ejecuten con el .NET Framework 2.0. Esto se realiza con la oreja ASP.NET de las propiedades del IIS. De esta forma, todas las aplicaciones del servidor ejecutaran con ese framework por default. No siempre es posible migrar todas las aplicaciones de una sola pasada, por lo que nos podemos ver obligados a mantener algunas aplicaciones con el Framework 1.1 y otras con el Framework 2.0. En este caso, es necesario cr

Metadatos, Parametros y Conocimiento

Imagen
Desde hace un tiempo, se ha planteado dentro del grupo de desarrollo de Concepto, una discusión amistosa sobre las ventajas y desventajas de las diversas formas de modelar los parametros de una aplicación. Las diferentes opciones que hemos utilizado a lo largo del tiempo, estan planteadas en esta pagina del wiki de la comunidad Entre las representacion planteadas, se tiene la de una transaccion con un unico registro y la de la utilizacion de metadatos. Algunos otros elementos que hemos tomado en cuenta para el intercambio de ideas son: Facilidad de instalacion (para instalar debo correr una reorg + ejecutar una transaccion o un script) Facilidad de mantenimiento (saber donde se usa, que impacta si lo cambio) Tolerancia a fallos (si instalo algo que usa un parametro, con metadatos en mas tolerante a que no exista, en cambio si no existe el atributo en la base, el programa cancela). Performance Estaria bueno generalizar en analisis de ventajas de como modelar parametros

Usabilizando GeneXus (Objetivos de los Posts)

Imagen
Ayer me preguntaron cual era el objetivo de la serie de post " Usabilizando Genexus ". Lo explique un poco aqui , pero lo voy a ampliar. Objetivos El objetivo de los mismos es puramente económico y muy egoísta: Lograr que GeneXus (que es la herramienta en la que la mayoria de la gente que trabaja en Concepto usa), sea mas productiva. Para hacer un ejercicio artimético, supongamos que Artech implementa alguna de las sugerencias de dichos post, y supongamos que eso me hace ahorrar 5 minutos al día en el desarrollo, y supongamos que somos 10 personas desarrollando. Esto nos da 5 minutos x 10 personas x 200 dias al año = 10000 minutos/año =casi 7 días de una persona. O sea, lograria que alguien tenga una semana mas irse de licencia/jugar al Warcraft III o tomar cafe. Creo que es todo un logro. Si lo multiplicamos por toda la comunidad, creo que aporta algo. Otro objetivo es que tratar de lograr que sea una herramienta mas divertida de usar para mi. Me gusta programar en GeneXus,

Pex - Test Generation for .Net

Pex - Test Generation for .Net : "Pex: Dynamic Analysis and Test Generation for .NET Pex (Program EXploration) is an intelligent assistant to the programmer. By automatically generating unit tests, it allows to find bugs early. In addition, it suggests to the programmer how to fix the bugs. Watch the screencast!" Aun no fue liberado al público, pero parece muy prometedor...

JPC - Java PC - Emulacion x86 en Java.

Hicieron un emulador de x86 en java , con lo cual se podria correr aplicaciones DOS en cualquier equipo que soporte a la JVM de SUN. Esta bueno para poder jugar el pacman en cualquier telefono que soporta java. Welcome to the JPC Project JPC is a pure Java emulation of an x86 PC with fully virtual peripherals. It runs anywhere you have a JVM, whether x86, RISC, mobile phone, set-top box, possibly even your refrigerator! All this, with the bulletproof security and stability of Java technology. Se puede correr una demo aqui

Como identificar indices que sobran en SQL Server

Cuando se programa con GeneXus es comun tener bases de conocimiento que subsisten muchos años, con algunas migraciones tecnologicas, como por ejemplo cambios de plataformas. Es comun tambien que en dichos procesos algunas tablas (generalmente las muy usadas) acumulen una cantidad de indices y algunos no siempre son utilizados por la aplicacion. El mantener dichos indices empeora la performance de los inserts y tambien hacen demorar mas al optimizador pues tiene mas opciones para analizar. Leyendo el libro Relational Database Index Design and the Optimizers pude ver cuantificado las demoras que puede ocasionar el tener indices de mas en tablas con millones de registros. Por suerte los muchachos de Microsoft, en SQL Server 2005, mejoraron muchisimo la metadata que se mantiene para ver que indices se utilizan y cuales no. Por ejemplo con la consulta --Indices no usados *** SELECT 'NOUsado',object_name(i.object_id) AS ObjectName , i.name as IndexName

GeneXus Toolbar

Imagen
Gonzalo Cuiñas publicó una version beta de las GeneXus Toolbars, con las cuales se puede buscar en los SAC, GXDL (GX developer library) y en los foros de usuarios GeneXus, desde el IE y FireFox. La probé y funciona muy bien y está bueno para tener más a mano la información que se utiliza a menudo si se esta programando con Genexus. Me gustaría que al GXSearch, le agregaran mas fuentes de informacion, como son el GX Community Wiki, el Download Center y GXOpen. Creo que todas estas mejoras ayudan a todos en la comunidad.

MoProSoft y EvalProSoft

El martes fui a una presentacion organizada por el Centro de Ensayo de Software , donde se hiceron presentaciones sobre CMMI (Capability Maturity Model Integration por la Dra Juliana Herbert de UNISINOS), Competisoft - Mejora de Procesos para fomentar la competitividad de la pequeña y mediana industra del software de iberoamerica (Dra Hanna Oktaba) y )e ISO 9001:2000 - Sistemas de Gestion de la Calidad (Ing. Jorge Arismendi). Me llamo la atencion la cantidad de gente que habia. No se si es porque se esta creando una conciencia de calidad en las empresas uruguayas de software o porque las medialunas que dan en el Club de Golf estan buenas!!. Con la primera charla de CMMI, si bien no profundizó demasiado, dio una vision general de las ventajas de la adopcion de dicho modelo de mejora, la charla estuvo buena. Dudo aun si para empresas chicas de Uruguay, tiene sentido embarcarse en este tipo de certificaciones, pero creo que es bueno mirarlo para sacar de ese modelo las ideas aplicables.

iRack

Seria mucho mas divertido, si hubiese muerto gente.. http://www.youtube.com/watch?v=o-KWYYIY4jQ (via Andres Acosta)

Juegos basados en WEB y el mundo Genexus

Imagen
En la charla ( Juegos basados en WEB y el mundo Genexus ) de Rodrigo Alvarez en el XVI Encuentro GeneXus, hablaba sobre algunos juegos sencillos e interesantes y desafiaba al auditorio a que aparecieran algun juego desarrollado con GeneXus. Hace bastante tiempo, Google utilizó el Image Labeler , que permite que dos personas vean una imagen, asocien etiquetas a las mismas y si coinciden con las que presenta tu compañero de juego, sumas puntos. Cuantas mas etiquetas significativas ingreses, mas posibilidades de ganar. En los rankings de puntaje, demuestra que hay personas que juegan muchisimo. Google se beneficia pues las imagenes con etiquetas son mucho mas faciles de ser buscadas/indexadas/encontradas y logra hacerlo pareciendo un juego. Hay una buena presentación de como usar seres humanos para hacer trabajos en forma de juegos aqui Un juego en GeneXus Un juego que se me habia ocurrido, que es ideal para algun taller o cursito de GeneXus es uno que ayude en la traducción de aplicacio

Microsoft Watch - Business Applications - R.I.P.: Project Green, 2003-2007

En Microsoft Watch - Business Applications - R.I.P.: Project Green, 2003-2007 cuentan como el proyecto Green, que fue un intento de Microsoft de crear una teoria unificada para el manejo de negocios, llego a su fin, si haber entregado los resultados deseados. Fue mas rápido el cambio producido por Google y Salesforece que el intento de unificar los ERP comprados por Microsoft. Viendolo en perspectiva, hubiera sido mejor para Microsoft desarrollar todas las aplicaciones de cero, en vez de gastar energías tratando de integrar diferentes ERP. Me hace acordar al proyecto San Francisco de IBM que también fracasó hace años (cuyo objetivo era parecido), pues no lograron integrar las diferentes visiones de como hacer negocios. Es llamativo como las empresas líderes del mercado (cada una en su momento) se embarcan en este tipo de proyecto como Pinky y Cerebro (para conquistar el mundo!!) y a pesar de tener recursos casi ilimitados, fracasan en forma mas o menos estrepitosa. Hay que esperar

Mechanisms of Localized Knowledge Spillovers and Innovation: the case of the Uruguayan Software Cluster

A través de Google Alerts me llego un link al trabajo de Efthymia Kesidou and Marjolein Caniels : Globelics India 2006 : " Mechanisms of Localized Knowledge Spillovers and Innovation: the case of the Uruguayan Software Cluster " . Es bueno ver que en otras partes del mundo estudian la realidad de Uruguay y que además la presentan en un seminario sobre innovacion . Es dificil no estar de acuerdo con las conclusiones que sacan en el trabajo , en resumen , debemos colabrorar entre las empresas del sector, para poder lograr mas y mejor innovación .

Oracle Proposes Open Source Persistence Project at Eclipse Foundation

Oracle Proposes Open Source Persistence Project at Eclipse Foundation Oracle esta donando su TopLink ORM (object relational mapping) a Eclipse. Es un movimiento a tener en el radar pues de ahi pueden salir cosas buenas.

Premio para el TICA Nacion.com, San José, Costa Rica [Aldea Global]

Nacion.com, San José, Costa Rica [Aldea Global] : "En ciencia y tecnología se honra a Alicia Avendaño por el plan TICA. Tal plan se consideró una innovación tecnológica exitosa pues, desde su implementación en marzo del 2006, mejoró la recaudación fiscal y disminuyó el contrabando en aduanas." TICA (Tecnología de Información para el Control Aduanero) es la implementación del GIA hecha en Costa Rica, por parte de Concepto. Es bueno que se reconozca este proyecto pues ha sido un esfuerzo muy grande para todos los que participamos en él.

Impresión directa a impresora en el WEB con aplicaciones GeneXus.

A partir de la versión GX 9.0 (U2) se puede imprimir directamente a impresora con las aplicaciones WEB, a una impresora conectada a la maquina del cliente. Como se explica en el SAC 20913 y en el SAC 19809 Algunos pasos adicionales para lograr que no se vea el reporte, puede ser. 1) Hay que configurar el GXPrn.ini en el raiz del directorio virtual que se maneja (sige/WEB-INF, por ejemplo). Asignar un formulario USANDO SOLO MAYUSCULAS a la impresora en el GXPRN.INI. 2) Poner la propiedad "Show printer dialog" en NO 3) Hacer un Reporte/Procedimiento para lista que sea Main, con call protocol http, con la propiedad de "Only to Printer" y con las reglas printer("FORMULARIO"); output_file('salida','pdf); 4) En los webpanels que se vaya a imprimir directo a la impresora, poner una EmbededPage (EP), un boton imprimir, y el evento asociado a dicho boton. Event 'Imprimir' &Text=Link(PImprimir) //Este reporte es el creado en el pa

GXFIT II

Ayer se realizó la charla de Alejandro Araujo sobre GXFit . La presentación de su tesis de maestria estuvo buena, vimos una breve reseña de FIT , una demo Fitnesse y definió el alcance de la tesis. También estuvo lindo el intercambio de ideas posterior sobre como seria la mejor forma de adaptar el uso de testeos unitarios a una herramienta como GeneXus . Es un divertido caso de diferencias de nivel de abstracción entre el nivel de los testeos unitarios y un nivel mas elevado de Genexus. Andrés Aguiar, hizo su planteo (ya expresado en su blog ) en el que no tiene mucho sentido que una herramienta que genera código a partir de una especificación formal como es Genexus, también necesite otra especificación formal (los casos de pruebas programados) para probar que todo funciona bien. También se conversó sobre la posibilidad que fuera el propio Genexus el que generara los programas necesarios para probar los programas generados. A mi esta última opción me gusta mucho, para ser usada de l

Alertas de Google

Imagen
No son una cosa nueva, sino que llevan mucho tiempo en la vuelta, pero las alertas de Google , siguen resultándome muy prácticas. Avisan con la frecuencia que se quiera (semanal, diaria o cuando apareza) cada vez que el spider de Google indexa alguna información nueva de las palabras claves a las cual nos suscribimos y manda un mail. Es algo muy sencillo, pero permite estar al tanto de la información que se publica sobre diverso temas, sin ningún esfuerzo.

Instalando GXChart local

Imagen
Hice una instalación de GXChart local, para lograr tener gráficas en una aplicación web. Ese servidor de gráficas lo teníamos funcionando sin problemas en otro servidor y todo había funcionado sin problemas. Decidimos poner el servidor de GXchart en www.concepto.com.uy/GXchartService y no funcionaron mas las gráficas. El motivo principal es que el raíz del webservice, esta apuntando a un sitio creado con GxPortal. En dicho sitio hay un web.config la configuración necesaria para la ejecución de una aplicación Genexus generada con GXPortal. La instalación del GXchart, genera un directorio físico y virtual que queda bajo el directorio default (lo cual esta muy bien) pero trae como inconveniente que se heredan las propiedades de la aplicacion raiz a las aplicaciones que se instalen bajo este. Entonces, al intentar generar cualquier gráfica, se intentaba cargar también las clases necesarias para ejecutar gxportal, como por ejemplo gxclasses.dll (que no existen en la aplicacion Gxchart). Po

GXFit / Adaptación de funcionalidades FIT para un marco de pruebas integrado con Genexus

Imagen
Alejandro Araujo estará presentando este Martes 6/3 a las 19 horas, en la Facultad de Ingeniería su trabajo sobre el GXFit, que es una adaptacion de FIT al mundo GeneXus . La idea basica (y simplificada) es poder crear tablas que contengan los datos de las pruebas a realizar (esta etapa podria realizarla un usuario final de la aplicacion) y que dichas pruebas puedan ejecutarse en forma repetitiva para asegurarse que todo sigue funcionando correctamente luego de realizar cambios. Creo que estas iniciativas y lo que se pueda hacer con el GXUnit y la integración que se logre con la próxima version de GeneXus Rocha, pueden lograr darle un salto en la calidad y confiabilidad de las aplicación que se realicen con Genexus.