Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Agilidad en el desarrollo empresarial
(o de como hacer webapps sin tanto dolor)
Agenda
• Groovy
• Grails
 • Arquitectura
 • Componentes
 • Como usar la plataforma
 • !!Código¡¡
• Recursos.
Objetivo


• Conocer y aprender como simplificar el
  desarrollo web con Grails
Sobre el ponente
• Domingo Suárez Torres
• Ciencias de la Informática @ IPN-UPIICSA
• Gerente de Sistemas @ Bursatec
• CTO...
¿Que es Groovy?

• Lenguaje de tipado dinámico
• Se compila y ejecuta en una JVM (Java Virtual
  Machine)
• Su desarrollo ...
Azúcar sintáctica: Toma 1
¿No es adorable el Api de Collections?
Azúcar sintáctica: Toma 2
Azúcar sintáctica: Toma 3
Java
  Plataforma políglota
• Java
• Groovy
• Scala
• Erlang
• JRuby
• Jython
Detalles
• Groovy es leeentooo.... No tanto como les
  gustaría a los alarmistas.
• Es cuestión de tiempo
• Si necesitas v...
¿Que es Grails?
• Mas que un framework, es una plataforma
  para desarrollo de aplicaciones web
Plataforma Grails
• Integra componentes que van desde el
  sistema de construcción hasta la capa de
  acceso a base de dat...
Plataforma Grails
• Java 2 Enterprise Edition (J2EE, ahora JEE),
  es considerado muy complicado, más de lo
  necesario.
•...
Spring como base
• Sus principales características
• Sistema de extensiones basada en plugins
• Entorno de configuración pa...
Bases solidas

• Spring                Hibernate    Groovy

• Hibernate
• Groovy
• Quartz            Quartz
              ...
Arquitectura de Grails
¿Por que Groovy & Grails?

• Todo el poder de frameworks de otras
  plataformas como RubyOnRails, Django
• Basado en Tecno...
¿Por que Groovy & Grails?




• ¿Porque no?
¿Como iniciar?
• Instalar un JDK para tu sistema operativo
• Visitar http://grails.org y descargar la ultima
  versión est...
¿Como desarrollo una aplicación?




  • Crear una aplicación y ejecutarla.
  • Analizar la estructura de directorios
!!No te creo¡¡
IDEs y otras herramientas
 • Funciona muy bien con Eclipse
 • Mejor con IntelliJ IDEA
 • Plugin para NetBeans
 • Para mini...
Orden en Grails

• El principio de “Convención sobre
  configuración”
• No significa que no exista la configuración
• No conf...
Estructura de proyecto
Estructura Grails
Seguimos con lo básico


El Modelo
de dominio
El modelo

• Representa una parte muy importante del
  problema que intentamos resolver.
• En Grails, el modelo generalmen...
El modelo

• Para la persistencia se usa Hibernate.
• Hibernate es un Mapeador Objeto-
  Relacional (ORM)
• http://www.hib...
¿Como creo un modelo?


 > grails create-domain-class Clase
• Crear una clase de dominio llamada
  Conferencista y otra Conferencia
• Hacer el CRUD de esas clases con
  scaffolding d...
Scaffolding: No es bala de plata
• Dos tipo de andamiaje
   • Dinámico (El de la demo)
   • Estático (Necesario generar
  ...
Consultas
• ¿Se acuerdan de los DAOs?
Métodos dinámicos
Más dinámicos...
GORM
Ecosistema Grails
• La comunidad esta creciendo mucho.
• Gracias a la arquitectura de plugins de
  Grails, se puede extend...
Plugins

• Vista
   • Flex, con Blaze DataServices
   • YahooUI, ExtJS, GWT,
   • Spring WebFlow
• WebServices (XFire, Axi...
Despliegue
• Grails genera archivos WAR.
• Se puedes desplegar en diversos servidores
  como:
   • Weblogic
   • Websphere...
¿Quien lo usa?

• LinkedIn
• SAP
• Tropicana
• Más en: http://www.grails.org/Success+Stories
Consejos
• No lo adoptes si no tienes experiencia en
  Hibernate y Spring
• A menos que   no tengas deadlines...
Resumen
• Grails no es solo un framework, es una
  plataforma de desarrollo web.
• Grails es la próxima generación de
  ab...
En la mira

• JBoss Seam
    • Basado en estándares JEE
       • JSF y JPA
    • Marcando la pauta de nuevas
      especifi...
Preguntas
Recursos
• http://grails.org
• http://www.SpringHispano.org
• http://groovy.org.es
• http://grails.org.mx Próximamente.

•...
Upcoming SlideShare
Loading in …5
×

Grails en SG08

2,798 views

Published on

Published in: Technology, Health & Medicine
  • Be the first to comment

Grails en SG08

  1. 1. Agilidad en el desarrollo empresarial (o de como hacer webapps sin tanto dolor)
  2. 2. Agenda • Groovy • Grails • Arquitectura • Componentes • Como usar la plataforma • !!Código¡¡ • Recursos.
  3. 3. Objetivo • Conocer y aprender como simplificar el desarrollo web con Grails
  4. 4. 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
  5. 5. ¿Que es Groovy? • Lenguaje de tipado dinámico • 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/
  6. 6. Azúcar sintáctica: Toma 1 ¿No es adorable el Api de Collections?
  7. 7. Azúcar sintáctica: Toma 2
  8. 8. Azúcar sintáctica: Toma 3
  9. 9. Java Plataforma políglota • Java • Groovy • Scala • Erlang • JRuby • Jython
  10. 10. Detalles • Groovy es leeentooo.... No tanto como les gustaría a los alarmistas. • Es cuestión de tiempo • Si necesitas velocidad, puedes recurrir a Java. • A veces no importa tanto
  11. 11. ¿Que es Grails? • Mas que un framework, es una plataforma para desarrollo de aplicaciones web
  12. 12. 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.
  13. 13. 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.
  14. 14. 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.
  15. 15. Bases solidas • Spring Hibernate Groovy • Hibernate • Groovy • Quartz Quartz Spring • Sitemesh • Jetty • Apache Ant Java Sitemesh • Plataforma Java
  16. 16. Arquitectura de Grails
  17. 17. ¿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
  18. 18. ¿Por que Groovy & Grails? • ¿Porque no?
  19. 19. ¿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
  20. 20. ¿Como desarrollo una aplicación? • Crear una aplicación y ejecutarla. • Analizar la estructura de directorios
  21. 21. !!No te creo¡¡
  22. 22. IDEs y otras herramientas • Funciona muy bien con Eclipse • Mejor con IntelliJ IDEA • Plugin para NetBeans • Para minimalistas con Textmate • Ant • Maven
  23. 23. 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”
  24. 24. Estructura de proyecto
  25. 25. Estructura Grails
  26. 26. Seguimos con lo básico El Modelo de dominio
  27. 27. 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.
  28. 28. El modelo • Para la persistencia se usa Hibernate. • Hibernate es un Mapeador Objeto- Relacional (ORM) • http://www.hibernate.org
  29. 29. ¿Como creo un modelo? > grails create-domain-class Clase
  30. 30. • Crear una clase de dominio llamada Conferencista y otra Conferencia • Hacer el CRUD de esas clases con scaffolding dinámico.
  31. 31. Scaffolding: No es bala de plata • Dos tipo de andamiaje • Dinámico (El de la demo) • Estático (Necesario generar artefactos, es posible modificarlos al gusto) • Es una ayuda, no es la principal fortaleza de Grails.
  32. 32. Consultas • ¿Se acuerdan de los DAOs?
  33. 33. Métodos dinámicos
  34. 34. Más dinámicos...
  35. 35. GORM
  36. 36. 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
  37. 37. Plugins • Vista • Flex, con Blaze DataServices • YahooUI, ExtJS, GWT, • Spring WebFlow • WebServices (XFire, Axis, Metro)
  38. 38. Despliegue • Grails genera archivos WAR. • Se puedes desplegar en diversos servidores como: • Weblogic • Websphere • Tomcat • Jetty • SpringSource Application Platform
  39. 39. ¿Quien lo usa? • LinkedIn • SAP • Tropicana • Más en: http://www.grails.org/Success+Stories
  40. 40. Consejos • No lo adoptes si no tienes experiencia en Hibernate y Spring • A menos que no tengas deadlines...
  41. 41. 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.
  42. 42. En la mira • JBoss Seam • Basado en estándares JEE • JSF y JPA • Marcando la pauta de nuevas especificaciones como WebBeans
  43. 43. Preguntas
  44. 44. 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 • domingo.suarez@gmail.com

×