Grails en SG08

  • 2,241 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,241
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
40
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Agilidad en el desarrollo empresarial (o de como hacer webapps sin tanto dolor)
  • 2. Agenda • Groovy • Grails • Arquitectura • Componentes • Como usar la plataforma • !!Código¡¡ • Recursos.
  • 3. Objetivo • Conocer y aprender como simplificar el desarrollo web con Grails
  • 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. ¿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. Azúcar sintáctica: Toma 1 ¿No es adorable el Api de Collections?
  • 7. Azúcar sintáctica: Toma 2
  • 8. Azúcar sintáctica: Toma 3
  • 9. Java Plataforma políglota • Java • Groovy • Scala • Erlang • JRuby • Jython
  • 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. ¿Que es Grails? • Mas que un framework, es una plataforma para desarrollo de aplicaciones web
  • 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. 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. 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. Bases solidas • Spring Hibernate Groovy • Hibernate • Groovy • Quartz Quartz Spring • Sitemesh • Jetty • Apache Ant Java Sitemesh • Plataforma Java
  • 16. Arquitectura de Grails
  • 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. ¿Por que Groovy & Grails? • ¿Porque no?
  • 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. ¿Como desarrollo una aplicación? • Crear una aplicación y ejecutarla. • Analizar la estructura de directorios
  • 21. !!No te creo¡¡
  • 22. IDEs y otras herramientas • Funciona muy bien con Eclipse • Mejor con IntelliJ IDEA • Plugin para NetBeans • Para minimalistas con Textmate • Ant • Maven
  • 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. Estructura de proyecto
  • 25. Estructura Grails
  • 26. Seguimos con lo básico El Modelo de dominio
  • 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. El modelo • Para la persistencia se usa Hibernate. • Hibernate es un Mapeador Objeto- Relacional (ORM) • http://www.hibernate.org
  • 29. ¿Como creo un modelo? > grails create-domain-class Clase
  • 30. • Crear una clase de dominio llamada Conferencista y otra Conferencia • Hacer el CRUD de esas clases con scaffolding dinámico.
  • 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. Consultas • ¿Se acuerdan de los DAOs?
  • 33. Métodos dinámicos
  • 34. Más dinámicos...
  • 35. GORM
  • 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. Plugins • Vista • Flex, con Blaze DataServices • YahooUI, ExtJS, GWT, • Spring WebFlow • WebServices (XFire, Axis, Metro)
  • 38. Despliegue • Grails genera archivos WAR. • Se puedes desplegar en diversos servidores como: • Weblogic • Websphere • Tomcat • Jetty • SpringSource Application Platform
  • 39. ¿Quien lo usa? • LinkedIn • SAP • Tropicana • Más en: http://www.grails.org/Success+Stories
  • 40. Consejos • No lo adoptes si no tienes experiencia en Hibernate y Spring • A menos que no tengas deadlines...
  • 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. En la mira • JBoss Seam • Basado en estándares JEE • JSF y JPA • Marcando la pauta de nuevas especificaciones como WebBeans
  • 43. Preguntas
  • 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