Monday, December 10, 2007

Generar Ruby con GeneXus Rocha - Tutorial


Paulo Sapuppo
Miembro de BairesGUG -
Site

Ruby es un lenguaje orientado a objetos puro, con una sintaxis super limpia que hace que programar sea elegante y divertido. En Ruby se combinan con éxito la elegancia conceptual del Smalltalk, la facilidad de uso y aprendizaje de Python y el pragmatismo de Perl. Ruby fue creado en Japón a principios de los 90, pero ha empezado a popularizarse en todo el mundo en los últimos años.

Rails es un framework de código abierto para Ruby que sirve para desarrollar aplicaciones web que acceden a bases de datos.
Los primeros pasos antes de comenzar a generar Ruby con GeneXus es instalar Ruby y los Gems necesarios para nuestra aplicación, en este caso necesitamos los Gems de JSON y MySQL y despues instalar nuestro servidor de base de datos MySQL.


Instalación de Ruby
Primero bajamos el instalador de Ruby desde http://www.rubyonrails.org/down y realizamos su instalación de forma default, como se muestra en la siguiente figura.













Instalación de los Gems necesarios
Primero debemos bajar de http://ruby.inoack.com/gems/ los Gems correspondientes a Json (json-1.1.1-mswin32.gem) y a MySQL (mysql-2.7.3-mswin32.gem) los cuales copiamos en cualquier parte de nuestro equipo e instalamos ejecutando las siguiente instrucciones de la siguiente manera:
c:\>gem install c:\json-1.1.1-mswin32.gem
c:\>gem install c:\mysql-2.7.3-mswin32.gem

Instalación de MySQL
Ya instalado y configurado Ruby on Rails, pasamos a la instalación de MySQL que será nuestro servidor de bases de datos. Se puede bajar de http://dev.mysql.com/downloads/mysql/5.0.htmlCuando llegues al último panel del instalador, al pulsar en el botón "Finish" aparecerá el asistente de configuración. En el asistente de configuración también puedes aceptar todos los valores por defecto (standard configuration), excepto en el panel de seguridad, porque a partir de la versión 4.1.7 MySQL utiliza un nuevo algoritmo de autenticación que no es compatible con clientes anteriores, incluyendo la versión actual de rails. Dejando esta opción sin rellenar, podemos acceder a MySQL sin emplear una clave.












A trabajar con GeneXus
Una vez instalados y configurados los pasos anteriores ya estamos listos para empezar a trabajar con GeneXus, para ello ingresamos a GeneXus Rocha y Creamos una nueva Base de Conocimiento.








Obviamente decimos que va a prototipar en Ruby Environment. Una vez creada la KB vamos a configurar las propiedades del modelo. En cuanto a las opciones del Generador dejaremos todas las opciones default en las opciones de DataStore seleccionamos MySQL y configuramos la conexión a la Base de Datos como se muestra en la siguiente figura.










Luego de esta configuración podemos empezar a trabajar con GeneXus, para ello vamos a crear cuatro Transacciones (Paises, Clientes, Articulos y Comprobantes) para ellos hacemos clic derecho en Objects >> New >> Transaction







Y las creamos de la siguiente manera (clic en cada imagen para ampliarla):






























Despues de crear las TRNs procedemos a realizar el impacto y creación de dichas tablas para ellos, en GeneXus, ingresamos al menu Build >> Impact Database Tables y comienza la creación de las Tablas.












Una vez creadas las tablas podemos empezar a ejecutar nuestra aplicación, para ello procedemos a Generar todos los objetos y ejecutarlos, para realizar todo esto solo alcanza con presionar F5 desde GeneXus Rocha y el se encarga del resto. Una vez finalizada la generación GeneXus procede a ejecutar la aplicación para ello ejecuta WEBrick.







WEBrick que es un servidor HTTP hecho en Ruby, y que desde la versión 1.8 de Ruby es parte de las librerías estándares del lenguaje. Una vez que termina de levantar WEBrick se ejecuta nuestra aplicación y ya estamos listos para interactuar con ella.










De aquí en adelante ya saben como seguir!!

Espero que el artículo haya sido claro y práctico, si te quedaste condudas podés escribirme a paulosapuppo@gmail.com

2 comments:

Unknown said...

Paulo,
El generador Ruby de GeneXus Rocha no requiere RubyOnRail.
Podes ver lo necesario en: http://www2.gxopen.com/commwiki/servlet/hwiki?Generador+GeneXus+Ruby,
Saludos
Federico Wagner

Luis Dellamea Liva said...

Hola,
podrías darme info de cómo se hace la implementación de una aplicación desarrollada en Gx (con Ruby & MySQL). Desde ya, muy agradecido...