Greach 2011 - Migración de proyectos JEE a Grails

Preview:

DESCRIPTION

Presentación de Fatima Casaú en Greach 2011 "Migración de proyectos JEE a Grails"

Citation preview

   

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  

   

SPRING  MVC  

 

SPRING    APP

LICA

TION   GRAILS    APPLICATIO

N  

JPA/Hibernate Domain Model

lib  

src/java  

clases  *.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  

es.package.domain.java   es.package  .domainConstraint.groovy  

src/java  

GORM  VALIDATION  

Constraints

Data  Binding  Valida;on  

Controllers Spring MVC

     

Controllers  &  configura3on  files    

*.xml  New  Controller  

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

Controllers

Grails  controller    def  vets  =  {                  [vets:  Vet.list()  ]  }    

 Spring  MVC  controller    @RequestMapping("/vets")  public  ModelMap  vetsHandler()  {                  Vets  vets  =  new  Vets();                  vets.getVetList().addAll(this.clinic.getVets());                  return  new  ModelMap(vets);  }  

Views

     

JSP’s  

JSP’s   GSP’s  

New  GSP’s  

Services

     

spring  services   GORM  

applica3on-­‐context.xml  

resources.groov  spring  annota3ons  @service  

@autowired  …  

Services

     

applica;onContext.xml  

resources.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  

datasource.groovy  

i18n

i18n*.proper3es   messages*-­‐.proper3es  

Dependency resolution

pom.xml  

BuildConfig.groovy  

STRUTS      EJB’S            JSF’S            

Otros Framewors

NEW  

resources.groovy  

MyService.groovy  

Comparad!

+  ágil  +  sencillo  +  produc;vo  

-­‐  clases  -­‐  *.xml  -­‐  *.proper;es  

hdp://petclinic-­‐grails.cloudfoundry.com/html/petclinic.html  

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

+  clases  +  *.xml  +  *.proper;es  

-­‐  ágil  +  complejo  -­‐  produc;vo