SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Migración	
  de	
  Proyectos	
  	
  
     JEE	
  a	
  Grails	
  

                	
  
@fatimacasau
Ingeniero	
  Técnico	
  Informá;co	
  
	
  
4	
  años	
  en	
  	
  
	
  
Desarrollo	
  de	
  aplicaciones	
  web	
  
	
  
Scrum	
  master	
  
	
  
Groovy	
  &	
  Grails	
  
¿Por qué migrar?
Reu;lización	
  de	
  recursos	
  
	
  
Refactorizar	
  
	
                           	
  
Agilizar	
  
GRAILS	
  	
  APPLICATION	
  
                             	
  
      SPRING	
  MVC	
  
                      	
  
SPRING	
  	
  APPLICATION	
  
JPA/Hibernate Domain Model
                                                lib	
  


clases	
  *.java	
  




                       src/java	
  
Hibernate
Generamos	
  el	
  fichero	
  hibernate.cfg.xml	
  
	
  
	
  
Copiamos	
  los	
  archivos	
  *.hbm.xml	
  
	
  
	
  
	
  
	
  
hibernate.cfg.xml
Añadimos	
  los	
  ficheros	
  *.hbm.xml	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
JPA
Igual	
  que	
  en	
  el	
  caso	
  anterior	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Clase	
  por	
  clase	
  
	
  
Validation
                        org.springframework	
  
                        .valida3on.Validator	
  




    src/java	
  




                                                                            GORM	
  
                                              es.package	
                VALIDATION	
  
es.package.domain.java	
  
                                        .domainConstraint.groovy	
  
Constraints


Data	
  Binding	
  
Valida;on	
  
Controllers Spring MVC

	
   Controllers	
  &	
  
     configura3on	
  files	
  	
                  New	
  Controller	
  
	
   *.xml	
  
	
  
Controllers

Ac3ons	
  &	
  render	
  views	
  
Scopes:	
  
     • 	
  servletContext	
  -­‐	
  instance	
  of	
  javax.servlet.ServletContext	
  
     • 	
  session	
  -­‐	
  instance	
  of	
  HMpsession	
  	
  
     • 	
  request	
  -­‐	
  instance	
  of	
  HMpServletRequest	
  
     • 	
  params	
  -­‐	
  map	
  of	
  parameters	
  
     • 	
  flash	
  -­‐	
  messages	
  
Controllers

                                                                	
  
Grails	
  controller	
                                          Spring	
  MVC	
  controller	
  
	
                                                              	
  
def	
  vets	
  =	
  {	
                                         @RequestMapping("/vets")	
  
	
  	
  	
  	
  	
  	
  	
  	
  [vets:	
  Vet.list()	
  ]	
     public	
  ModelMap	
  vetsHandler()	
  {	
  
}	
                                                             	
  	
  	
  	
  	
  	
  	
  	
  Vets	
  vets	
  =	
  new	
  Vets();	
  
	
                                                              	
  	
  	
  	
  	
  	
  	
  	
  vets.getVetList().addAll(this.clinic.getVets());	
  
                                                                	
  	
  	
  	
  	
  	
  	
  	
  return	
  new	
  ModelMap(vets);	
  
                                                                }	
  
Views
	
                   New	
  GSP’s	
  
       JSP’s	
  
	
  
	
  



         JSP’s	
         GSP’s	
  
Services
       applica3on-­‐context.xml	
  

	
  
                                      resources.groov	
  
	
         spring	
  annota3ons	
  
                @service	
  
              @autowired	
  
	
                    …	
  




         spring	
  
                                            GORM	
  
        services	
  
Services
applica;onContext.xml	
  

	
  
	
  
	
  
                            resources.groovy	
  
datasource.groovy	
  
                               Datasources




                        Si	
  tenemos	
  más	
  de	
  un	
  
                        datasource,	
  podemos	
  definirlo	
  
                        como	
  un	
  bean	
  en	
  
                        resources.groovy	
  o	
  u;lizar	
  el	
  
                        plugin	
  datasources.	
  
                        En	
  grails	
  2.0	
  ya	
  está	
  soportado	
  
i18n


                      messages*-­‐.pro
i18n*.proper3es	
  
                         per3es	
  
Dependency resolution

pom.xml	
  




                         BuildConfig.groovy	
  
Otros Framewors

STRUTS	
                                                    NEW	
  
	
  
	
                              resources.groovy	
  
EJB’S	
  	
  	
  	
  
	
  
	
  
JSF’S	
  	
  	
  	
  	
  	
                                      MyService.groovy	
  
Comparad!
+	
  clases	
                      -­‐	
  ágil	
          hdp://petclinic-­‐grails.cloudfoundry.com/html/petclinic.html	
  
+	
  *.xml	
                       +	
  complejo	
  
+	
  *.proper;es	
                 -­‐	
  produc;vo	
  


 hdp://sta;c.springsource.org/docs/petclinic.html	
  



                                                                      -­‐	
  clases	
                     +	
  ágil	
  
                                                                      -­‐	
  *.xml	
                      +	
  sencillo	
  
                                                                      -­‐	
  *.proper;es	
                +	
  produc;vo	
  
 

Más contenido relacionado

Similar a Greach 2011 - Migración de proyectos JEE a Grails

Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
Sergi Almar i Graupera
 
Groovy & Grails
Groovy & GrailsGroovy & Grails
Groovy & Grails
betabeers
 
Java WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRsJava WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRs
Hernan Rengifo
 

Similar a Greach 2011 - Migración de proyectos JEE a Grails (20)

Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHP
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
ITRANSER Soluciones Bundle HP VMware
ITRANSER Soluciones Bundle HP VMwareITRANSER Soluciones Bundle HP VMware
ITRANSER Soluciones Bundle HP VMware
 
Introducción a groovy & grails
Introducción a groovy & grailsIntroducción a groovy & grails
Introducción a groovy & grails
 
Java beans en jsp
Java beans en jspJava beans en jsp
Java beans en jsp
 
04 actions
04 actions04 actions
04 actions
 
Jobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket Spring 2GX Madrid
Jobsket Spring 2GX Madrid
 
Groovy & Grails
Groovy & GrailsGroovy & Grails
Groovy & Grails
 
Java WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRsJava WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRs
 
Angular Conceptos Practicos 2
Angular Conceptos Practicos 2Angular Conceptos Practicos 2
Angular Conceptos Practicos 2
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
SERVLET BASICS
SERVLET BASICSSERVLET BASICS
SERVLET BASICS
 
01 introducción
01 introducción01 introducción
01 introducción
 
Programa en Rails como si Jugases con Lego. Javier Ramirez
Programa en Rails como si Jugases con Lego. Javier RamirezPrograma en Rails como si Jugases con Lego. Javier Ramirez
Programa en Rails como si Jugases con Lego. Javier Ramirez
 
Javier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins PdfJavier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins Pdf
 
Rails Plugins. Javier Ramirez
Rails Plugins. Javier RamirezRails Plugins. Javier Ramirez
Rails Plugins. Javier Ramirez
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 
Taller de Grails
Taller de GrailsTaller de Grails
Taller de Grails
 

Más de greach_es (7)

Greach 2011 - Novedades de Grails 2.0
Greach 2011 - Novedades de Grails 2.0Greach 2011 - Novedades de Grails 2.0
Greach 2011 - Novedades de Grails 2.0
 
Greach 2011 - Cloud Foundry
Greach 2011 - Cloud FoundryGreach 2011 - Cloud Foundry
Greach 2011 - Cloud Foundry
 
Greach 2011 - Engrandeciendo Grails con Mongo DB
Greach 2011 - Engrandeciendo Grails con Mongo DBGreach 2011 - Engrandeciendo Grails con Mongo DB
Greach 2011 - Engrandeciendo Grails con Mongo DB
 
Greach 2011 - Engrandeciendo Grails con MongoDB
Greach 2011 - Engrandeciendo Grails con MongoDBGreach 2011 - Engrandeciendo Grails con MongoDB
Greach 2011 - Engrandeciendo Grails con MongoDB
 
Greach 2011 - Opening keynote
Greach 2011 - Opening keynoteGreach 2011 - Opening keynote
Greach 2011 - Opening keynote
 
Greach 2011 - Ringio, o como hacer realidad una aplicación de telefonía con G...
Greach 2011 - Ringio, o como hacer realidad una aplicación de telefonía con G...Greach 2011 - Ringio, o como hacer realidad una aplicación de telefonía con G...
Greach 2011 - Ringio, o como hacer realidad una aplicación de telefonía con G...
 
Greach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and GrailsGreach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and Grails
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Greach 2011 - Migración de proyectos JEE a Grails

  • 1. Migración  de  Proyectos     JEE  a  Grails    
  • 2. @fatimacasau Ingeniero  Técnico  Informá;co     4  años  en       Desarrollo  de  aplicaciones  web     Scrum  master     Groovy  &  Grails  
  • 3. ¿Por qué migrar? Reu;lización  de  recursos     Refactorizar       Agilizar  
  • 4. GRAILS    APPLICATION     SPRING  MVC     SPRING    APPLICATION  
  • 5. JPA/Hibernate Domain Model lib   clases  *.java   src/java  
  • 6. Hibernate Generamos  el  fichero  hibernate.cfg.xml       Copiamos  los  archivos  *.hbm.xml          
  • 7. hibernate.cfg.xml Añadimos  los  ficheros  *.hbm.xml                  
  • 8. JPA Igual  que  en  el  caso  anterior                   Clase  por  clase    
  • 9. Validation org.springframework   .valida3on.Validator   src/java   GORM   es.package   VALIDATION   es.package.domain.java   .domainConstraint.groovy  
  • 11. Controllers Spring MVC   Controllers  &   configura3on  files     New  Controller     *.xml    
  • 12. Controllers Ac3ons  &  render  views   Scopes:   •   servletContext  -­‐  instance  of  javax.servlet.ServletContext   •   session  -­‐  instance  of  HMpsession     •   request  -­‐  instance  of  HMpServletRequest   •   params  -­‐  map  of  parameters   •   flash  -­‐  messages  
  • 13. Controllers   Grails  controller   Spring  MVC  controller       def  vets  =  {   @RequestMapping("/vets")                  [vets:  Vet.list()  ]   public  ModelMap  vetsHandler()  {   }                  Vets  vets  =  new  Vets();                    vets.getVetList().addAll(this.clinic.getVets());                  return  new  ModelMap(vets);   }  
  • 14. Views   New  GSP’s   JSP’s       JSP’s   GSP’s  
  • 15. Services applica3on-­‐context.xml     resources.groov     spring  annota3ons   @service   @autowired     …   spring   GORM   services  
  • 16. Services applica;onContext.xml         resources.groovy  
  • 17. datasource.groovy   Datasources Si  tenemos  más  de  un   datasource,  podemos  definirlo   como  un  bean  en   resources.groovy  o  u;lizar  el   plugin  datasources.   En  grails  2.0  ya  está  soportado  
  • 18. i18n messages*-­‐.pro i18n*.proper3es   per3es  
  • 19. Dependency resolution pom.xml   BuildConfig.groovy  
  • 20. Otros Framewors STRUTS   NEW       resources.groovy   EJB’S             JSF’S             MyService.groovy  
  • 21. Comparad! +  clases   -­‐  ágil   hdp://petclinic-­‐grails.cloudfoundry.com/html/petclinic.html   +  *.xml   +  complejo   +  *.proper;es   -­‐  produc;vo   hdp://sta;c.springsource.org/docs/petclinic.html   -­‐  clases   +  ágil   -­‐  *.xml   +  sencillo   -­‐  *.proper;es   +  produc;vo  
  • 22.