SlideShare una empresa de Scribd logo
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 generationSergi Almar i Graupera
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHP
Juan Belón Pérez
 
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
Paradigma Digital
 
ITRANSER Soluciones Bundle HP VMware
ITRANSER Soluciones Bundle HP VMwareITRANSER Soluciones Bundle HP VMware
ITRANSER Soluciones Bundle HP VMware
ITRANSER, S.A
 
Introducción a groovy & grails
Introducción a groovy & grailsIntroducción a groovy & grails
Introducción a groovy & grails
Fátima Casaú Pérez
 
Jobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket Spring 2GX Madrid
Jobsket Spring 2GX Madrid
Jobsket
 
Groovy & Grails
Groovy & GrailsGroovy & Grails
Groovy & Grailsbetabeers
 
Java WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRsJava WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRsHernan Rengifo
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
Jose Juan R. Zuñiga
 
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
 
Javier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins PdfJavier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins Pdf
javier ramirez
 
Rails Plugins. Javier Ramirez
Rails Plugins. Javier RamirezRails Plugins. Javier Ramirez
Rails Plugins. Javier Ramirez
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
Abimael Desales López
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
juliocombativo
 
Taller de Grails
Taller de GrailsTaller de Grails
Taller de Grails
Domingo Suarez Torres
 

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

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_es
 
Greach 2011 - Cloud Foundry
Greach 2011 - Cloud FoundryGreach 2011 - Cloud Foundry
Greach 2011 - Cloud Foundry
greach_es
 
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_es
 
Greach 2011 - Engrandeciendo Grails con MongoDB
Greach 2011 - Engrandeciendo Grails con MongoDBGreach 2011 - Engrandeciendo Grails con MongoDB
Greach 2011 - Engrandeciendo Grails con MongoDB
greach_es
 
Greach 2011 - Opening keynote
Greach 2011 - Opening keynoteGreach 2011 - Opening keynote
Greach 2011 - Opening keynote
greach_es
 
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_es
 
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
greach_es
 

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

Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 

Último (20)

Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 

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.