30
Grails Agilidad en el desarrollo empresarial

Grails en el Fonasol

Embed Size (px)

Citation preview

Page 1: Grails en el Fonasol

GrailsAgilidad en el desarrollo empresarial

Page 2: Grails en el Fonasol

Agenda

• Groovy y Grails

• Arquitectura

• Componentes

• Como usar la plataforma

• !!Código¡¡

• Recursos.

Page 3: Grails en el Fonasol

Objetivo

• Conocer y aprender como simplificar el desarrollo web con Grails

Page 4: Grails en el Fonasol

Sobre el ponente

• Domingo Suárez Torres

• Ciencias de la Informática @ IPN-UPIICSA

• Gerente de Sistemas @ Bursatec

• CTO @ SeptimoBit Software

• Instructor y Consultor @ SynergyJ

• Apasionado por el desarrollo de software

• Fundador de JavaUp.org y SpringHispano.org

Page 5: Grails en el Fonasol

¿Que es Groovy?

• Lenguaje de tipado dinamico

• Se compila y ejecuta en una JVM (Java Virtual Machine)

• Su desarrollo se inspiro en SmallTalk, Python y Ruby

• Se integra con el lenguaje Java en cualquier nivel.

• http://groovy.codehaus.org/

Page 6: Grails en el Fonasol

¿Que es Grails?• Mas que un framework, es una plataforma

para desarrollo de aplicaciones web

Page 7: Grails en el Fonasol

Plataforma Grails

• Integra componentes que van desde el sistema de construcción hasta la capa de acceso a base de datos.

• El desarrollador programa en Groovy.

• Basado en herramientas existentes y poderosas como:

• Spring, Hibernate, Quartz, Sitemesh, etc.

Page 8: Grails en el Fonasol

Plataforma Grails• Java 2 Enterprise Edition (J2EE, ahora JEE),

es considerado muy complicado, más de lo necesario.

• Spring y Hibernate han sido proyectos nacidos como Opensource que han mejorado la manera de desarrollar en Java.

• Grails representa el siguiente nivel de abstracción para JEE.

• Grails simplifica dramáticamente el uso de Spring y Hibernate.

Page 9: Grails en el Fonasol

Spring como base

• Sus principales características

• Sistema de extensiones basada en plugins

• Entorno de configuración para ejecución

• Todo lo anterior, construido sobre Spring.

Page 10: Grails en el Fonasol

Bases solidas

• Spring

• Hibernate

• Groovy

• Quartz

• Sitemesh

• Jetty

• Apache Ant

• Plataforma Java

Groovy

Spring

SitemeshJava

Quartz

Hibernate

Page 11: Grails en el Fonasol

Arquitectura de Grails

Page 12: Grails en el Fonasol

¿Por que Groovy & Grails?

• Todo el poder de frameworks de otras plataformas como RubyOnRails, Django

• Basado en Tecnología Java, en desarrollo empresarial no hay alternativa.

• Reuso de herramientas y tecnologías existentes

• Caches Distribuidos

• Herramientas para depuración,IDEs

Page 13: Grails en el Fonasol

¿Por que Groovy & Grails?

• ¿Porque no?

Page 14: Grails en el Fonasol

¿Como iniciar?

• Instalar un JDK para tu sistema operativo

• Visitar http://grails.org y descargar la ultima versión estable. Se distribuye en Zip y TarGZ

• Descomprimir el archivo

• Establecer la variable de ambiente GRAILS_HOME y agregar a PATH el directorio bin de $GRAILS_HOME

• Mayor detalle en: http://grails.org/Installation

Page 15: Grails en el Fonasol

¿Como desarrollo una aplicación?

> grails create-app Demo

> cd Demo

> grails run-app

Page 16: Grails en el Fonasol

¿Como desarrollo una aplicación?

!!No te creo¡¡

Page 17: Grails en el Fonasol

Practica

• Crear una aplicación y ejecutarla.

• Analizar la estructura de directorios

Page 18: Grails en el Fonasol

Orden en Grails

• El principio de “Convención sobre configuración”

• No significa que no exista la configuración

• No confundir por “Convención en lugar de configuración”

Page 19: Grails en el Fonasol

Seguimos con lo básico

El Modelo de dominio

Page 20: Grails en el Fonasol

El modelo

• Representa una parte muy importante del problema que intentamos resolver.

• En Grails, el modelo generalmente es “persistente”, es decir se almacena su estado.

Page 21: Grails en el Fonasol

El modelo

• Para la persistencia se usa Hibernate.

• Hibernate es un Mapeador Objeto-Relacional (ORM)

• http://www.hibernate.org

Page 22: Grails en el Fonasol

¿Como creo un modelo?

> grails create-domain-class Clase

Page 23: Grails en el Fonasol

Practica

• Crear una clase de dominio llamada Conferencista y otra Conferencia

• Hacer el CRUD de esas clases con scaffolding dinámico.

Page 24: Grails en el Fonasol

Ecosistema Grails

• La comunidad esta creciendo mucho.

• Gracias a la arquitectura de plugins de Grails, se puede extender la funcionalidad.

• Existen mas de 50 plugins oficiales.

• Seguridad

• Interfases de usuario

• WebServices

Page 25: Grails en el Fonasol

Ejemplos de aplicaciones

• Europosgrados

• geedback

Page 26: Grails en el Fonasol

Resumen• Grails no es solo un framework, es una

plataforma de desarrollo web.

• Grails es la próxima generación de abstracción de JEE basada en Spring y Hibernate.

• Groovy y Grails se integran sin problemas al código Java existente y a toda la plataforma Java.

• Grails == Simplificación de la plataforma JEE en web.

Page 27: Grails en el Fonasol

Recomiendo

• Análisis

• Prueben, analicen, vuelvan a probar, analicen y decidan.

• Java

• Si se deciden por Grails, aprendan Spring y Hibernate.

Page 28: Grails en el Fonasol

Agradecimientos

• A mi familia que me dejo venir...

Page 29: Grails en el Fonasol

Preguntas

Page 30: Grails en el Fonasol

Recursos

• http://grails.org

• http://www.SpringHispano.org

• http://groovy.org.es

• http://grails.org.mx Próximamente.

• http://www.domingosuarez.com

• http://www.domix.org