Comunidad GeneXus - Una perspectiva personal (2009)

Hace 2 años escribí sobre como veía la comunidad GeneXus y hoy quiero hacer lo mismo. Hay quien considera que soy demasiado optimista, pero con sinceridad creo que este es un buen momento para desarrollar aplicaciones con GeneXus.

En el último (XIX) Encuentro Internacional GeneXus pude ir a varias charlas y me gusta comparar con otras comunidades y ver como está el resto de la industria.

Mas aplicaciones.
Una de las cosas que parece cada vez más claro, es que se siguen necesitando gran cantidad de aplicaciones y lo mas solicitado por los clientes son aplicaciones con interfaz WEB y también que sea visualizable desde diferentes dispositivos móviles (teléfonos, consolas, PDA, etc).

Aplicaciones Grandes y cada vez mas complejas.
Se pueden ver que hay necesidad de aplicaciones grandes en varios sentidos. Hay algunas que necesitan muchos programas, otras que son usadas por muchos usuarios, otras que manejan grandes cantidades de datos, otras necesitan ejecutarse en muchas plataformas o en varios países diferentes. Algunas tienen mas de una de estas propiedades.

Aplicaciones multidisciplinarias.
Muchos negocios son impensables sin aplicaciones y cada día las aplicaciones necesitan conocer mas de como se hacen dichos negocios. Para poder desarrollarla hay que tener visiones diferentes de la misma, como pueden ser la presentación, la localizacion, la lógica y el know how del negocio. Es dificil que una sola empresa pueda dominar todas estas visiones.

Podemos hacer estas aplicaciones?
Las empresas que formamos la comunidad GeneXus, en general son medianas o pequeñas especializadas en desarrollo de aplicaciones para negocios específicos y sin una gran especialización técnica siendo mas bien generalistas.
Entonces, por un lado hay necesidad de tener aplicaciones complejas y que cubren varias disciplinas y por otro, hay empresas que pueden resolver parte del desarrollo de las aplicaciones que si trabajan en conjunto.

Que herramientas tenemos para lograrlo?
Con GeneXus Server, podemos tener repositorio de KB para que un grupo de desarrolladores solucionando un problema que teniamos hasta la version 9.0 de GeneXus. Usando el GXServer y la metodología asociada, podríamos tener grupos de desarrollo distribuidos geográficamente en diferentes paises...
Si se usa la versión GeneXus EvI, se puede tener una historia de los cambios que se van realizando y mas facil que ahora lograr un proceso auditable y por lo tanto controlable.
El manejo de KB grandes ha mejorado un poco haciendo algo mas rápido el manejo de gran cantidad de objetos en la KB. Con el uso de múltiples procesadores, ha mejorado mucho la velocidad de especificación, generación, compilación y por lo tanto en su puesta en producción.

Con la nueva funcionalidad del Change Defender, se va a simplificar el trabajo simplificar las colisiones que se produzcan cuando varios desarrolladores modifiquen algún objeto de forma de ayudar a las personas a tomar decisiones en KB grandes.

Con GXTest se facilita el diseño de pruebas para que la aplicación sea mas confiable, de forma de lograr que lo que desarrollen personas diseminadas por el mundo no rompan las pruebas diseñadas. Faltaría poder definir testeos unitarios para que los desarrolladores podamos especificar el funcionamiento de nuestros objetos a través de pruebas.

Con el Theme Editor se puede lograr que empresas especializadas hagan el diseño final de la aplicación dejándolas mas coquetas y con el traductor se puede lograr versiones de la aplicación que pueda usarse en diferentes lenguajes.

Que nos estaría faltando?
Por suerte queda mucho por hacer, ahi esta lo divertido.

Modulos
En lo que me gustaría focalizar los esfuerzos es en trabajar en herramientas para la Modularizacion de las KB de forma de poder crear conjuntos de objetos de forma que sea mas facil de entender las aplicaciones. Si tenemos la aplicación correctamente modularizada y con las interfaces bien definidas, se van a minimizar los errores colaterales, cuando modificando un objeto afectamos cosas que no queremos. Me da la sensación que el manejo de módulos es de las cosas que mas retorno va a tener por las ventajas que van a traer.

Instalación
Ademas de modularizar, es necesario contar con herramientas para la realización de la instalación de aplicaciones, pues hoy se instalan en varios servidores, o en varios directorios virtuales, con diferentes sistemas operativos. Creo que la modularización va a ayudar para que la instalacion (deployment) sea mas sencillo.

Mejores herramientas para entender la realidad.
Vamos a necesitar herramientas mas formales para que los usuarios o los analistas escriban requerimientos y estos puedan ser verificados con la aplicación ejecutando.

Paralelización.
Es importante que tanto para el desarrollo (generación/compilación/especificación) y para la ejecución vamos a necesitar ejecutar en varias maquinas y dichas computadoras van a tener múltiples procesadores. Esto va a exigir poder someter trabajos y controlarlos en maquinas que estén disponibles para su ejecución.

Ajustes por los usuarios finales.
Las aplicaciones cada vez deberían poder adaptarse por los usuarios finales a sus necesidades. Los reportes, las reglas del negocio, la presentación de las pantallas, que atributos adicionales que van a tener las entidades de la aplicacion y las consultas de resumen, deberían ser creadas y mantenidas por los usuarios.


Resumiendo

Se necesitan aplicaciones complejas y grandes
+
Hay empresas que conocen partes de estas complejidades
+
Contamos con herramientas para manejar estos proyectos

Viendo esto, resumo que es un buen momento para hacer proyectos asociativos (de varias empresas) y trabajar en conjunto para resolver el problema entre varios.
Los años que vienen van a ser divertidos.


Comentarios

  1. La verdad que me encanta la visión y me encanta que escribas como ves las cosas.

    Quería hacer solo un aporte respecto a las herramientas que tenemos hoy en día. Me parece que otra de las herramientas nuevas y que va a ser de gran valor es la extensibilidad de GX X. Creo que eso permite a las empresas podes desarrollar soluciones a medida para sus problemas cotidianos con un esfuerzo relativamente bajo y un potencial enorme.

    Yo también creo que estos años que vienen van a ser divertidos :D:D

    Desde nuestra parte esperemos también seguir aportando para potenciar esta comunidad.

    ResponderBorrar
  2. Saludos,Estimado matias.
    No nos conocemos, soy egresado de la carrera de informatica y en mi trabajo me haran programar en genexus 7.5 con un generador rpg para as/400,apelando a tu experiencia sobre genexus quisiera ver si tienes manuales , informacion o ejemplos de como usar esta herramiente con el generador RPG.

    Gracias de Antemano por tu ayuda, la verdad no he configurado Genexus con AS/400 ni usado el generador RPG con genexus 7.5.
    Atte Alberto

    ResponderBorrar
  3. Puedes ayudarme Mi Nombre es Rolando Rivera Tengo dos Problemas en un aplicación VB con gX 9 con data SQL server 2008
    1. colo limpio una variable bmp. descripción del problema cuando listo fotos de en un WP todos los alumnos de una sección si una seccion tiene 25 y la siguiente que visualiso tiene solo 23 me cambia de la uno a la 23 pero la demas quedan con las fotos del grado anterior como limpio una variable BMP

    2. tengo un sistema web que es este http://www.ist.hn/sis/hwebmenu.aspx pero tengo un problema de seguridad y no se como corregirlo cuando ingreso por la parte de seguridad si copio la dirección y la guardo puedo ingresar sin escribir el usuario y password como puedo hacer

    ResponderBorrar
    Respuestas
    1. Rolando,

      1) creo que lo que podes hacer es

      &var = LoadBitmap("") o podes tener una imagen toda blanca y cargarla

      &var = LoadBitmap("imagenes/blanco.jpg"

      2) Con esto, lo que podes hacer es que todas las paginas web tengan un masterpage, y que valides en dicha masterpage, que si el usuario no se conecto, lo mande a la pantalla de login.

      Podes genera una aplicacion con el Pattern WorkWith, y te podes dar cuenta como maneja la seguridad, para sacar ideas.

      Borrar
  4. Gracias Funciono bien pero lo que ise fue poner un variable bmp sin nada. tengo otro problemita te lo describo a continuación:
    Una pregunta necesito desplegar un campo Blob de tipo jpg es una foto en un reporte NO WEB estoy trabajando con VB 6 y SQL 2008 en los WP y TRN funciona super bien pero en los reportes no despliega la foto utilizo este comando &Bmps = LoadBitmap(AlmFotoNew) AlmFotoNew= este es el campo blob. puede ayudarme

    ResponderBorrar
    Respuestas
    1. Es dificil saber que es lo que esta pasando, solo con esos datos. No me doy cuenta porque no te muestra la imagen. Lamento no poder ayudarte en eso.

      Borrar

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

Aplicación monolítica o distribuida?

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

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