Desde principios de este 2009, tuve la oportunidad de tener mi primer contacto con GeneXus, que en mi opinión es un software que resulta a la programación lo que el Autocad fue al dibujo manual de los planos en 1995.
GeneXus es un software que le permite a un analista de negocios construir una base de conocimientos para modelar la realidad de un sistema y que de manera automática transforma esa realidad en una base de datos y unos programas, es decir, en una aplicación, que se ejecuta de acuerdo con la arquitectura y productos de nuestra elección, sin requerir programación clásica.
En este sentido, si hace 20 años le hubiésemos preguntado a un dibujante ¿qué piensa sobre la primera versión de Autocad?, seguramente nos habría respondido que ese software era pesado, costoso, limitado e incapaz de brindar la versatilidad y experiencia que él había acumulado trabajando con su propia pericia y experiencia tradicional.
Quienes tenemos alguna experiencia en desarrollo y mantenimiento de sistemas por más de una década, sabemos que la vida y el costo de un sistema automatizado es la suma de una serie de inversiones que comienza con un levantamiento de información, análisis, diseño, programación, pruebas, construcción de interfaz, carga de datos, entrenamiento y que antes de “pasar a producción” ya comienza a exigir revisión, rediseño y nueva programación para incorporar los cambios que han surgido desde las primeras conversaciones con los usuarios.
Estos proyectos tradicionales, cuando son exitosos, generan poderosas herramientas para lograr mayor agilidad y productividad en las organizaciones pero exigen un continuo mantenimiento, que sigue requiriendo inversiones en la misma medida en que la realidad va cambiando (y, afortunadamente, siempre está y seguirá cambiando).
Posteriormente, en vista de la velocidad del cambio de las tecnologías de la información sólo se ha acelerado con el paso del tiempo, cuando creíamos que habíamos alcanzado un nivel de estabilidad para nuestro sistema, nos encontramos con que la tecnología que utilizamos para su construcción se ha vuelto menos atractiva y comienza a mortificarnos la necesidad (y el costo) de migrarlo al nuevo entorno tecnológico y el reiniciar el ciclo tradicional ya descrito.
Al escoger a GeneXus como herramienta de desarrollo, independizamos la construcción de nuestros sistemas de la tecnología cambiante y sólo nos concentramos en mejorar nuestros procesos y reglas de negocio para actualizar nuestra base de conocimiento. Artech, el fabricante de GeneXus, se ha encargado durante los 20 años que tiene el producto, de ir liberando los generadores de bases de datos y de programas para que nuestra base de conocimientos original, automáticamente, se traduzca en sistemas que usan nuevos lenguajes, nuevas bases de datos y/o nuevos sistemas operativos.
El GeneXus de hoy traduce bases de conocimientos en aplicaciones: centralizadas, cliente/servidor, Web o móviles. El GeneXus de hoy, genera programas en .Net, Java o Ruby y normaliza y construye bases de datos Microsoft SQL Server, Oracle, Informix o MySQL, por sólo mencionar algunas de las marcas muy sonadas.
El GeneXus de hoy permite que una base de conocimientos que una vez se transformó en un sistema RPG para AS/400, se reescriba automáticamente en un nuevo sistema .Net-SQL Sever para Windows o en un nuevo sistema Java-Oracle para Apache-UNIX.
En fin, GeneXus es una tecnología para repensar el desarrollo de sistemas de información con una perspectiva estratégica y de negocios ya que su uso se nos vende como desarrollo con el menor costo posible y no desde una perspectiva técnica del programador de escritorio que como cualquiera, se resiste al cambio y defiende sus valores y su experiencia profesional.
Casi 6.000 empresas de todo el mundo, entre clientes finales, desarrolladores y fábricas de software, lo han adoptado. La comunidad tecnológica, que evalúa estas herramientas hoy en día, cuenta con miles de casos de éxito que están disfrutando los beneficios esbozados más arriba, sin embargo, GeneXus aún no cuenta con una comunidad de analistas de negocio que pueda competir con la tropa de desarrolladores tradicionales .Net, Java o Php, por mencionar sólo tres, y acá quizá encontramos una de las debilidades del producto. En respuesta, Artech y su red de distribuidores y aliados hacen esfuerzos sostenidos por masificar el uso y la formación y disponen de un conjunto de recursos y herramientas en línea para ir disminuyendo esta brecha.
Seguirá amaneciendo y seguiremos viendo.