¿qué ofrece autentia? · • grails create-app demo • crear un controlador • grails...

59
Para más información visítenos en: www.autentia.com Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com ¿Qué ofrece Autentia? Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... Nuestra mejor referencia son los conocimientos que compartimos en nuestra web: • Desarrollo de componentes y proyectos a medida. • Auditoría de código y recomendaciones de mejora. • Arranque de proyectos basados en nuevas tecnologías. • Recomendaciones arquitectónicas, coaching tecnológico, implantación de Framework, Java,... • HeadHunting tecnológico. • Cursos de Formación (impartidos por desarrolladores en activo): Dirección de Proyectos Informáticos. Gestión eficaz del Tiempo. Arquitecturas de desarrollo Web: Web, J2EE, SOA, WebServices, BPM, etc. Java/ J2EE a todos los niveles: JSPs, Servlets, EJBs, JMS, JNI, etc. Análisis y diseño orientado a objetos. UML y patrones de diseño. Buenas prácticas en el desarrollo de aplicaciones. Técnicas avanzadas: Lucene, Hibernate, Spring, JSF, Struts, etc. www.adictosaltrabajo.com Decenas de entidades cuentan ya con nosotros Autentia Real Business Solution, S.L.

Upload: others

Post on 27-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

Para más información visítenos en: www.autentia.com

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

¿Qué ofrece Autentia?Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

Nuestra mejor referencia son los conocimientos que compartimos en nuestra web:

• Desarrollo de componentes y proyectos a medida.• Auditoría de código y recomendaciones de mejora.• Arranque de proyectos basados en nuevas tecnologías.• Recomendaciones arquitectónicas, coaching tecnológico, implantación de Framework, Java,...• HeadHunting tecnológico.• Cursos de Formación (impartidos por desarrolladores en activo): Dirección de Proyectos Informáticos. Gestión eficaz del Tiempo. Arquitecturas de desarrollo Web: Web, J2EE, SOA, WebServices, BPM, etc. Java/ J2EE a todos los niveles: JSPs, Servlets, EJBs, JMS, JNI, etc. Análisis y diseño orientado a objetos. UML y patrones de diseño. Buenas prácticas en el desarrollo de aplicaciones. Técnicas avanzadas: Lucene, Hibernate, Spring, JSF, Struts, etc.

www.adictosaltrabajo.com

Decenas de entidades cuentan ya con nosotros

Autentia Real Business Solution, S.L.

Page 2: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

DESARROLLO DE

APLICACIONES WEB

CON

GROOVY Y GRAILS

por Alberto Vilches

http://albertovilches.com

Twitter: @albertovilchesMiércoles 15 Junio 20011

Page 3: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SOBRE MI

Pasado

• Trabajando en desarrollo desde 1998

• Programador en Clipper y Delphi

• Programador en Java y J2EE desde 2001

• Instructor y consultor de Bea

• Administrador de sistemas en Aena

Presente

• Programador freelance en Grails y Flex

• Partner de Escuela de Groovy

• Evangelizador Groovy y Grails

• Fundador de la conferencia Greach

Page 4: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

AGENDA

• Un poco de Groovy

• Un poco de Grails

• Código en vivo entre medias

Page 5: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

¿QUÉ ES GROOVY?

2003 - James Strachan’s Bloghttp://radio-weblogs.com/0112098/2003/08/29.html

2007 - Groovy 1.0

2008 - Groovy 1.1 -> 1.5

2009 - Groovy 1.7

2011 - Groovy 1.8

Guillaume Laforge

Andres Almiray (Griffon)

Graeme Rocher (Grails)

Peter Niederwieser (Spock)

Jochen Theodoru

Hamlet D’Arcy

Page 6: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

RECURSOS

Page 7: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

¿QUÉ ES GROOVY?

• Groovy es Java

• Dinámico

• Inspirado en Ruby, Python y Smalltalk

• OOP puro

• Closures, Gstrings, Builders, DSL

Page 8: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

¿QUÉ ES GROOVY?

• Groovy es Java.

• Dinámico

• Inspirado en Ruby, Python y Smalltalk

• OOP puro

• Closures, Gstrings, Builders, DSL

• No compile type-checking

• Ligeramente más lento que Java

Page 9: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

HELLOWORLD.JAVA

Page 10: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

HELLOWORLD.GROOVY

Page 11: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

HELLOWORLD.GROOVY

Public por defecto

; opcionales

Page 12: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

HELLOWORLD.GROOVY

Getters y setters autogenerados

return opcional

Page 13: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

HELLOWORLD.GROOVY

No hace falta especificar tipo

Gstrings - println

Page 14: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

HELLOWORLD.GROOVY

Scripts

Page 15: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

POGOS

Page 16: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SINTAXIS NATIVA COLECCIONES

Page 17: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SINTAXIS NATIVA COLECCIONES

Page 18: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

BUCLES

Page 19: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

BUCLES

Page 20: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

GDK

Page 21: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

GDK

Page 22: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

XML

Page 23: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

¿QUÉ ES GRAILS?

• Groovy sobre Spring

• RAD en Java, no framework

• CoC -> No XML

• MVC (binding, i18n, validation) + persistencia

• Servidor (Tomcat) y bbdd (HSQL) embebidos

• Debug en caliente, Genera WAR.

• Scaffolding

• Testing

• Extensible: plugins

Page 24: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

QUE INCLUYE

Stack completo preconfigurado:

• Testing y build

• Junit y Ant

• Vistas

• SpringMVC, Sitemesh, GSP, taglib

• Servicios

• transacciones, Spring

• Persistencia: GORM

• mapeo automático con Hibernate

Page 25: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

DEMO

• Crear proyecto

• grails create-app Demo

• Crear un controlador

• grails create-controller HelloWorld

• render “hello world!”

• Lanzar servidor

• grails run-app

• Modificar en caliente

• Empaquetar la aplicación

• grails war

Page 26: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

ESTRUCTURA DEL PROYECTO

Page 27: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

CONTROLADORES

Page 28: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

CONTROLADORES

Page 29: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

CONTROLADORES

Page 30: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

VISTAS

Page 31: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

VISTAS

Page 32: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

VISTAS

Page 33: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

VISTAS

Page 34: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

MODELO -> VISTA

Page 35: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

CONTROLADORES

params

session

request

response…

Page 36: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

VISTAS

Page 37: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

VISTAS

Page 38: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

TAGLIBS

Page 39: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

TAGLIBS

Page 40: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

TAGLIBS

Page 41: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

TAGLIBS

Page 42: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

CONFIGURACION

Page 43: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

MODELO DE DATOS: GORM

Page 44: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

MODELO DE DATOS: GORM

Page 45: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

MODELO DE DATOS: GORM

Page 46: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

MODELO DE DATOS: GORM

Genero 1 * Película

Page 47: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

MODELO DE DATOS: GORM

Page 48: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SERVICIOS

Page 49: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SERVICIOS

Page 50: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SERVICIOS

Page 51: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SERVICIOS

Page 52: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SERVICIOS

Page 53: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SERVICIOS

Page 54: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

SERVICIOS

singleton

prototype

request

session

Page 55: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

Y MUCHO MÁS

• I18n

• Filters

• Layouts (Sitemesh)

• Testing

• Plugins• Quartz

• Xfire

• Compass, Searchable

• Spring Security, Shiro

• Cache

• Flex

• NoSQL: redis, MongoDb

Page 57: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

EVENTOS NACIONALES

• Spring IO

• Anualmente (sobre Febrero)

• Madrid GUG

• Quedadas mensuales

• Greach

• En Madrid, el 4 de Noviembre de 2011

• (dentro de 5 meses)

• ¡Gratis!

• Apúntate en http://greach.es

Page 58: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

NOS VEMOS EN

Valladolid, 2 de Julio

Curso práctico de 4 horas

Grails + Oauth/Twitter + Google/OpenId

Tenerife Lan Party, 21 y 22 de Julio

Taller de Grails, 2 horas

O en @albertovilches

Page 59: ¿Qué ofrece Autentia? · • grails create-app Demo • Crear un controlador • grails create-controller HelloWorld • render “hello world!” • Lanzar servidor • grails

¡GRACIAS!

¿Preguntas?

¿Dudas?