27
SPRING ROO: MEJORA TU PRODUCTIVIDAD DANDO SALTOS CON EL CANGURO Rafael Antonio Gutiérrez Turullols @abaddon_gtz [email protected] http://abaddon-gtz.blogspot.com Septiembre 4, 2010, México, D.F

Dando saltos con Spring Roo

Embed Size (px)

Citation preview

Page 1: Dando saltos con Spring Roo

SPRING ROO: MEJORA TU PRODUCTIVIDAD DANDO SALTOS CON EL CANGURO

Rafael Antonio Gutiérrez Turullols@[email protected]://abaddon-gtz.blogspot.com

Septiembre 4, 2010, México, D.F

Page 2: Dando saltos con Spring Roo

Demo de Introducción Introducción Demos Desarrollo de Add-ons Demos Proyecto SpringHispano Add-ons

Page 3: Dando saltos con Spring Roo
Page 4: Dando saltos con Spring Roo

ES Herramienta RAD para Java (basada en texto) ES extensible ES para su uso es en tiempo de desarrollo ES un generador de código NO ES un plugin de algún IDE NO ES un software de administración de proyectos NO ES una herramienta para construir proyectos

Page 5: Dando saltos con Spring Roo

AspectJ Framework para programar orientado a aspectos (AOP). Spring Roo usa los Inter-Type Declaration (ITD) Genera *_Roo_*.aj

Spring Otros frameworks como: Spring Security y Spring Web

Flow. Aspectos de Spring: @Configurable y manejo de

transacciones Escaneo de componentes marcados con anotaciones

Spring.

Page 6: Dando saltos con Spring Roo

Alta productividad Fácil de aprender y usar

TAB, hint y help Herramientas estándar Java

JPA, Maven, JSP, Junit, Spring, … Sin compromisos Fácil de remover

Page 7: Dando saltos con Spring Roo
Page 8: Dando saltos con Spring Roo

Generador Pasivo Reacciona a instrucciones del usuario

Generador Activo Reacciona a cambios en el código

Es un generador de código hibrido PASIVO = Shell y comandos▪ Hace el cambio y nada mas (.xml y .java)

ACTIVO =Se activa sobre los .java marcados con @Roo*▪ Monitorea los cambios en el .java y actualiza .aj, .jsp

Page 9: Dando saltos con Spring Roo
Page 10: Dando saltos con Spring Roo

Típica Aplicación Web basada en Spring MVC Base de datos Persistencia vía JPA Pruebas unitarias con JUnit Maven para construir el proyecto Spring para la inyección de dependencias.

Google Web Toolkit, desde 1.1.0.M1 Add-on de Flex, desde la 1.1.0.M2 (se instala aparte) Capas:

Entidad (dominio) Web Servicios y DAO (no se generan pero se pueden incluir)

Page 11: Dando saltos con Spring Roo
Page 12: Dando saltos con Spring Roo
Page 13: Dando saltos con Spring Roo

Todos los comandos de Spring Roo son add-ons. Son los add-ons Base.

Comando para crear un proyecto tipo "add-on": project --topLevelPackage zzz.xxx.yyyy --template

ROO_ADDON_SIMPLE  Desde la 1.1.0.M2 add-ons para crear add-ons:

addon create advanced addon create simple

Page 14: Dando saltos con Spring Roo
Page 15: Dando saltos con Spring Roo
Page 16: Dando saltos con Spring Roo
Page 17: Dando saltos con Spring Roo

El método que atiende la ejecución del comando puede: Tirar cualquier tipo de Exception para cancelar

la ejecución del comando y revertir (rollback) los cambios.

 Usar el Logging del JDK o regresar objetos que se imprimiran en la consola.

Page 18: Dando saltos con Spring Roo
Page 19: Dando saltos con Spring Roo

Roo tiene los siguientes servicios (entre otros) a nuestra disposicion: org.sf.roo.process.manager.FileManager

▪ crear directorios/archivos, consultar los detalles de archivos, leer InputStreams.

org.sf.roo.project.PathResolver▪ información sobre los paths, resolver paths

org.sf.roo.project.ProjectOperations▪  acciones sobre el pom.xml

org.sf.roo.metadata.MetadataService org.sf.roo.classpath.operations.ClasspathOperations

Page 20: Dando saltos con Spring Roo

Comandos importantes: Instalar un addon:

felix shell start file://<ruta> Ver los add-ons instalados:

osgi ps desinstalr un addon:

osgi uninstall --bundleSymbolicName zzz.xxx.yyy actualizar un addon:

osgi update --bundleSymbolicName zzz.xxx.yyy 

Page 21: Dando saltos con Spring Roo
Page 22: Dando saltos con Spring Roo

Refactor->Push-in con Eclipse

Buscar y reemplazar las anotaciones e imports en los Java Expresion regular = “\n.*Roo.*\n” Reemplazar con “\n”

Quitar las dependencias en el pom.xml

Page 23: Dando saltos con Spring Roo
Page 24: Dando saltos con Spring Roo

Con la comunidad y para la comunidad desarrollar add-ons de Spring Roo que nos ayuden a realizar nuestra labor diaria en la escuela y/o trabajo de

manera mas rápida y sencilla

Page 25: Dando saltos con Spring Roo

Test Data Builder Addon.

Auditable Fields Addon.

Copy Fields Addon.

SDL/Swing Addon.

Jersey Addon.

Page 26: Dando saltos con Spring Roo

Pagina: http://www.springsource.org/roo Foros:  http://forum.springsource.org/forumdisplay.php?f=67 Twitter: @SpringRoo, @benalexu, @schmidtstefan Jira: http://jira.springframework.org/browse/ROO  Repositorio Git: git clone git://git.springsource.org/roo/roo.git Libro (próximamente): Roo in Action de Manning,

@RooInAction Mi Blog: http://abaddon-gtz.blogspot.com (Etiqueta

'Spring Roo')  SpringHispano Addons:

http://code.google.com/p/springhispano-addons/

Page 27: Dando saltos con Spring Roo