viernes, octubre 1, 2010
|
![]() ![]() Hace unas semanas me invitaron a dar una charla sobre La Singularidad y su futuro impacto en los Negocios en el XX Encuentro GeneXus (XXGX), en Montevideo, Uruguay, y fui sencillamente como orador y no como empresario, programador, bloguero o mercadólogo. Simplemente fui a dar mi charla, la cual (muy atípico a mi) finalicé de preparar apenas horas antes del evento debido a mi agenda en esos días, y con la cual no me sentí muy a gusto (¡demasiado texto en pantalla!), pero al público pareció gustarle bastante, pues posterior a la charla me detenían en todos los pasillos del hotel para darme impresiones y hacerme preguntas. Sin embargo, he aquí lo interesante: Fui al evento desconociendo al 100% el motivo de este, e incluso desconociendo la herramienta sobre la cual giraba el evento y de la cual les hablaré en un momento. La experiencia fue como cuando uno va al cine a ver una película de la cual uno o no sabe absolutamente nada, o no tiene expectativas, pero que para el final se convierte en una de tus películas favoritas de toda la vida, y todo eso gracias a una herramienta llamada GeneXus de la empresa uruguaya Artech... Sucede que en ese pequeño, encantador, educado y amistoso país, se ha creado (desde hace 20 años, cabe la pena decir), lo que en mi opinión es una de las herramientas más revolucionarias, visionarias y utilitarias en el sector empresarial que haya jamás visto (y créame cuando les digo que he visto muchas cosas asombrosas en mi vida). Pero he aquí lo más extraordinario en mi caso: Nunca en mi vida había escuchado siquiera el nombre "GeneXus". Quizás porque el fuerte de la empresa parece ser la región local de SurAmérica, o quizás por provenir de un país latinoamericano y no de un Google o Microsoft. Sea como sea, cuando vi y entendí lo que era GeneXus, fue como cuando vi por primera vez el primer navegador web (Mosaic) en una terminal AIX de IBM en un laboratorio de Boston University en los EEUU: Se me erizaron los pelos y tuve una Epifanía. La Epifanía en ese entonces (1993) fue "Esta será la futura plataforma para el software" (instalé mi primer servidor web y escribí mi primera página web ese mismo día, y desde entonces no he mirado hacia atrás), y la Epifanía esta vez fue "Este es el futuro del software empresarial multi-plataforma". ![]() La versión resumida es que es una herramienta que genera programas nativos para una gran variedad de plataformas, iniciando todas con lo que llaman un "KB" (Knowledge Base, o Base de Conocimiento), que no es más que las definiciones de los procesos de negocios, codificados de una manera particular en una base de datos de GeneXus, que permite de esta manera especificar de manera genérica y abstracta las reglas de tu negocio, de modo que después es posible tomar esas definiciones de alto nivel, y decirle a GeneXus que genere automáticamente una aplicación nativa para cualquier plataforma soportada. Es decir, después que tienes ese modelo creado, se hace trivial (en cuestión de minutos) decirle a GeneXus que genere (por ejemplo) una aplicación para la arquitectura .Net y Oracle, o la arquitectura Java (J2EE) con MySQL, o cualquier combinación de plataformas. Entre las plataformas soportadas están por ejemplo .NET, .NET Mobile, Java, Ruby, e incluso Cobol, RPG para el AS/400 y Visual FoxPro, así como diversas bases de datos como Oracle, Microsoft SQL Server, MySQL, DB2, etc, así como varias plataformas móviles de las cuales les hablaré en unos momentos. Es importante destacar que lo que GeneXus hace no es crear una capa de código intermedio como lo hace por ejemplo Java o .Net con sus Máquinas Virtuales intermedia, o incluso crear librerías de emulación como lo hace WINE en Linux, sino que GeneXus literalmente produce codigo 100% nativo y optimizado para cada plataforma, lo que permite crear los programas más eficientes posibles en base a Patrones de Diseño (Design Patterns). Otro de los grandes beneficios que le veo a GeneXus (y quizás a lo que muchas empresas le pongan el mayor peso) es el hecho de que con GeneXus se hace casi trivial el mantener las aplicaciones, así como hacer que estas evolucionen para satisfacer nuevos retos en las empresas. Por ejemplo, los creadores de GeneXus inventaron un concepto propietario de Bases de Datos con Tablas Extendidas, que les permite hacer cambios a la aplicación sin afectar la estructura de datos mismos directamente. La idea es que existe un nivel de tablas virtuales entre la aplicación y las tablas físicas, que permite que las tablas físicas se mantengan siempre ordenadas y optimizadas, mientras que las tablas virtuales cambian para satisfacer las necesidades cambiantes de la aplicación (algo que me encuentro sencillamente genial). ¿Qué significa eso? Que posterior a una aplicación haber sido desarrollada, se hace trivial el agregar/remover/modificar campos, agregar pantallas, cambiar el orden de procesos, etc, todo sin perturban directamente la arquitectura intrínseca de los datos almacenados, algo que en otros tipos de ambientes de desarrollo significa dedicar tiempo considerable en planear como modificar las bases de datos a mano, como migrar y transformar datos, y como modificar todo el código de la aplicación para acomodar los nuevos cambios, así como dedicar tiempo considerable probando que todo funcione bien. Con GeneXus ese proceso que puede tardar meses en grandes proyectos, ahora puede tardar literalmente minutos o quizás horas, y se hace de manera mayoritariamente automatizada. Antes de continuar debo también compartir con ustedes algo que me impresionó tanto como el producto: La comunidad en torno a la plataforma, desde los usuarios finales hasta los técnicos y gerentes de la empresa. A los apasionados gerentes de esta empresa se les nota que han puesto toda su alma y corazón en este proyecto, haciendo de este el proyecto de sus vidas sin lugar a dudas. Los creadores (e inventores y co-fundadores) de esta plataforma fueron dos talentosos uruguayos de nombre Breogán Gonda y Nicolás Jodal (quienes han sido galardonados con los más altos honores de ingeniería en esa nación, entre otros reconocimientos), quienes hace más de 20 años atrás vieron la oportunidad de desarrollar una herramienta como GeneXus y decidieron apostar sus carreras a ello. Asistí al evento (aun este llamándose XXGX) desconociendo que este era el 20vo aniversario de tal plataforma, y un momento muy emotivo fue cuando los co-fundadores subieron al escenario al primer puñado reducido de clientes que hace 20 años atrás creyeron y apostaron su credibilidad para implementar lo que sería la semilla de GeneXus. Fue un momento muy emotivo en donde lágrimas se notaron en todos lados (desde los mismos fundadores y clientes, hasta este humilde servidor que les escribe). En otras palabras, salí del evento habiendo experimentado la sensación de ver no solo una plataforma revolucionaria, sino que además habiendo conocido a un grupo de extraordinarios seres humanos. Volviendo a GeneXus noten que el hecho de que yo personalmente no conocía la plataforma, no significa que esta no sea bastante bien conocida en los círculos en donde es mercadeada, pues para que tengan una idea, la herramienta goza de una comunidad de desarrolladores que ronda en los 75,000 usuarios en unas 5,000 empresas en una treintena de países (así como oficinas en Uruguay, Brasil, México, EEUU y Japón), lo que sin duda es algo a envidiar por cualquier empresa sin importar su procedencia. Otro dato interesante es que al evento XXGX asistieron unos 3,500 representantes de cerca de 40 paíes, incluyendo de lugares tan lejanos como Japón y China. Y hablando de procedencia, algo que me llegó al alma es que al ver esta herramienta sentí un gran orgullo en mi corazón. Pues aquí estaba, frente a una herramienta que no tiene absolutamente nada que envidiarle a lo mejor de empresas como Google, Apple, Oracle, IBM, SAP o Microsoft, y sin embargo desarrollada en uno de los países más pequeños del hemisferio. Como siempre he dicho, me apena como muchos subestiman el talento desbordante que existe en nuestras naciones latinoamericanas, y GeneXus es un ejemplo vivo de esto. Es importante agregar que GeneXus ha sido un producto que ha evolucionado continuamente en sus dos décadas de existencia. Inicialmente no poseía la capacidad de generar el 100% del código necesario, sino que generaba apenas alrededor del 70%, lo que hacía un poco inconveniente tener que generar el restante 30% con otras herramientas, particularmente con miras a migraciones futuras a otras plataformas. Sin embargo, hoy día la herramienta es capaz de generar el 100% de la mayoría de las aplicaciones corporativas que se puedan imaginar, sin importar la magnitud del proyecto (existen por ejemplo sistemas complejos de ERP desarrollados íntegramente con GeneXus, como es el K2B). Y en cuando al futuro de la herramienta, en el evento XXGX se anunciaron nuevos "generadores" de código que permitirán que uno genere aplicaciones nativas para la más reciente ola de plataformas móviles como el iOS (iPhone, iPod Touch y iPad), Android OS, BlackBerry OS, y próximamente el Windows Phone 7. Las versiones Betas de estos productos estarás disponibles en estas próximas semanas, y en el evento demostraron aplicaciones nativas realizadas con estas herramientas en un iPad, un celular Android y un BlackBerry. Lo interesante de esta propuesta móvil es que las aplicaciones generadas se crean tomando en consideración todo el ecosistemas en torno a ellas, por lo que por ejemplo, si generas una aplicación para el iPhone, GeneXus se encarga de tomar en consideración todas las restricciones técnicas de Apple para que tu aplicación no sea rechazada en el App Store. Otra cosa interesante es que tales aplicaciones móviles puedan además interacturar con otras aplicaciones generadas por GeneXus en servidores remotos, manejando la herramienta todo el proceso de comunicación también de manera transparente. En mi opinión, hoy día no hay mejor manera de crear aplicaciones empresariales para dispositivos móviles que esta propuesta de GeneXus, pues dada la gran proliferación de plataformas móviles, se hace muy caro y complejo tener que aprender cada una de las distintas plataformas por separado. Con GeneXus, ahora simplemente creas tu KB, presionas un botón, y esta te generará la aplicación para todas las plataformas móviles que desees. Es importar volver hacer hincapié en que las aplicaciones generadas en estos dispositivos móviles no son "genéricas", sino que cada una de ellas utiliza de forma nativa los recursos técnicos y componentes visuales de cada una, por lo que no terminas con una aplicación "foranea y genérica", sino que con una que se nota es una aplicación nativa generada para cada plataforma en particular. Tu aplicación de iPhone aparentará haber sido creada por Apple, y tu aplicación de Android aparentará haber sido creada por Google. Quiero cerrar este largo artículo dando las gracias a Gustavo Carriquiry, (Gerente de Operaciones de Artech) quien tuvo la iniciativa de invitarme al evento, y a Gisela Bertelli (Business Development Manager de Artech) por el contacto y toda la increíble gestión logística, y diciendo que este tipo de herramientas son las que creo más futuro tendrán al largo plazo en la industria, ya que abstraen el bajo nivel de implementación técnica y nos permiten concentrar en las ideas y los objetivos primarios que queremos lograr con nuestras aplicaciones. Incluso hice una curiosa observación en mi charla sobre La Singularidad, en que el nombre GeneXus si lo descomponemos se convierte en inglés en "Gene", "X" y "Us", que suena a algo como "El Gen X en Nosotros", por lo que quien sabe, quizás en un futuro no lejano una parte de nuestro propio software como Humanos 2.0 tendrá un componente GeneXus... :) Página oficial de GeneXus (aquí pueden descargar una versión trial para pruebas) Recursos técnicos sobre GeneXus Los dejo ahora con este corto video de poco más de 1 minuto del XXGX y que me gustó bastante (enlace YouTube)... Nota: Como dicen en inglés, lo siguiente es un Disclaimer: Dado que asistí al evento XXGX me siento en la obligación de aclarar, por si acaso, que no tengo absolutamente ninguna relación con la empresa Artech o su plataforma GeneXus ni de manera directa o indirecta, y estas impresiones son exclusivamente de mi autoría. Actualización: 1 año después, GeneXus ahora genera aplicaciones para dispositivos móviles. Más detalles en este enlace. autor: josé elías |
![]() |
![]() |
Comentarios
Añadir Comentario |
en camino a la singularidad...
©2005-2025 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax
Saludos
Creo que estan aqui en el pais, o por lo menos estuvieron. Hace ya varios años fui a una entrevista para trabajar con ellos desarrollando software. Eso fue en la Zona Franca de San Isidro.
Asi que imagino que aun andaran por estos lados.