Introducción al Desarrollo de Aplicaciones con Groovy y Grails (Parte 1)
May 30, 2009 – 11:39 pmTags: grails, Groovy, Java, Web Development

Introducción:
Grails es un marco de trabajo para el desarrollo de aplicaciones web que se basa en las ideas de
“Codificación a través de Convenciones” (coding by convention) y DRY (don’t repeat yourself) utilizando el lenguaje de programación Groovy.
Grails se ejecuta sobre una máquina virtual de Java, teniendo acceso completo a la plataforma y librerías Java.
Con Grails pueden crearse fácilmente aplicaciones web gracias a:
- Ofrece un Entorno completo para el desarrollo y publicación de aplicaciones: Todas las dependencias y configuración requeridas para ejecutar las aplicaciones web son proporcionadas por Grails. Usted debe solamente preocuparse por el código particular de su aplicación.
- Incluye un servidor Jetty embebido.
- El modo de desarrollo automáticamente recarga los cambios realizados al código de la aplicación sin tener que reiniciar el servidor web.
- Ofrece mapeo de persistencia automàtico para las clases del Dominio del problema, así como también manejo automàtico de las relaciones entre las entidades.
- Ofrece scaffolding para el acceso a datos, ofreciendo posibilidades para el desarrollo rápido de operaciones CRUD (Create, Read, Update, Delete).
- Soporte de tecnologías para la implementación de vistas de datos utilizando “dynamic tag libraries” y “Groovy Server Pages (GSP)”
- Extensibilidad a través de la utilización de plugins.
Grails puede usarse como un entorno de desarrollo autónomo que esconde todos los detalles de configuración así como también permite integrar lógica de negocio escrita en Java. Entre los objetivos de Grails está el hacer el desarrollo web lo más simple y atractivo posible de tal forma que un amplio segmento de desarrolladores puedan utilizarlo.
Tutorial “Escribir un Manejador de Incidencias Utilizando Grails”
El tutorial a desarrollar a continuación se basa en el artículo “Writing a Simple Issue Tracker in Grails” Part 1 y Part 2
Cómo Obtener el Framework Grails?
Usted puede descargar la última versión del framework desde la siguiente ubicación: http://www.grails.org/Download
Instalación
Una vez ha obtenido y descomprimido el framework debe adicionar a su sistema operativo la variable de entorno GRAILS_HOME.
Si utiliza windows puede configurar las variables de entorno de la siguiente forma:
> set GRAILS_HOME=C:\download\grails
> echo %GRAILS_HOME%
C:\download\grails
> set PATH=%GRAILS_HOME%\bin;%PATH%
(Información adicional: Administrar variables de entorno en Windows XP )


O si utiliza sistemas basados en linux puede utilizar los siguientes comandos:
> set GRAILS_HOME=~/download/grails
> export GRAILS_HOME
> echo ${GRAILS_HOME}
~/download/grails
> cd ${GRAILS_HOME}
> chmod a+x bin/grails
> set PATH=${GRAILS_HOME}/bin:${PATH}
> export PATH
(No olvide configurar también la variable JAVA_HOME apuntando a la carpeta donde reside su instalación
particular de Java (JDK http://java.sun.com/javase/downloads/index.jsp).
Configuración de Java en Windows
Configuración de Java en Unix)
para comprobar su instalación de grails puede digitar el siguiente comando
> grails
debe aparecer como respuesta un mensaje similar al siguiente:
> C:\Documents and Settings\user>grails
> Welcome to Grails 1.1.1 – http://grails.org/
> Licensed under Apache Standard License 2.0
> Grails home is set to: C:\dev\grails-1.1.1
> No script name specified. Use ‘grails help’ for more info or ‘grails interactive’ to enter interactive mode
Creando el proyecto Con Grails
Para crear nuestro proyecto Grails debe utilizar el siguiente comando
> D:\dev>grails create-app issuetracker
este comando creará una carpeta con la siguiente estructura de directorios:
(Para nuestro ejemplo la carpeta %PROJECT_HOME% es representada por la carpeta D:\dev\issuetracker)

Configuración de la Base de Datos
Para nuestro ejemplo utilizaremos el motor de bases de datos relacionales PostgreSql. (Debemos crear
una instancia y usuario en la base de datos. Para este caso creamos la base de datos “issues” con
su usuario relacionado “issuetracker” con clave “issuetracker”)
Primero necesitamos descargar el driver Jdbc disponible en la siguiente ubicación: http://jdbc.postgresql.org/download.html
(Para nuestro ejemplo descargamos el jar postgresql-8.3-604.jdbc4.jar )
El jar obtenido debe ser copiado en la carpeta %PROJECT_HOME%/lib
Configuración del Datasource
Una de las grandes ventajas de Grails es la facilidad para el manejo de la configuración del proyecto.
Por ejemplo el comando ejecutado “create-app” entre otros archivos crea uno llamado DataSource.groovy (En la carpeta %PROJECT_HOME%grails-app/conf/ ).
Este archivo nos permite especificar diferentes ambientes (Development, TestData y Production)
para el manejo de la fuente de datos del proyecto. Como opción por omisión utiliza el manejador de datos
HSQLDB.
Para modificar la configuración del entorno “Development” utilizando postgresql debemos modificar el archivo DataSource.groovy de la siguiente forma:
development {
dataSource {
driverClassName = "org.postgresql.Driver"
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:postgresql://localhost:5432/issues"
dialect = org.hibernate.dialect.PostgreSQLDialect
username = "issuetracker"
password = "issuetracker"
}
}
(Más información en http://hartsock.blogspot.com/2008/07/postgresql-and-grails.html )