Grails en SG08

2,629 views
2,501 views

Published on

Published in: Technology, Health & Medicine
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,629
On SlideShare
0
From Embeds
0
Number of Embeds
255
Actions
Shares
0
Downloads
45
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

×