Spring Roo
          Renato Bellia
http://notasingleshot.blogspot.com
    http://twitter.com/renatobellia



                                  Globalcode – Open4education
Agenda – Spring Roo
 O que é ?
   Yet Another Java Framework ?
   Padrões de mercado
 Como utilizar ?
   Requisitos de Ambiente
   Demo
   Customizando
 Quando utilizar ?
 Onde / Quem / e Depois ?

                                  Globalcode – Open4education
O que é Spring Roo ?
 Define uma nova geração de ferramentas RAD
 para desenvolvedores Java
 Não é um +1 framework Java
   Gerador/Gerenciador inteligente de código fonte
   Não introduz dependências em Run-Time
   Pode ser facilmente desligado de seu projeto
 Roo Shell : usabilidade + monitoramento
 Customizável através de Add-ons



                                         Globalcode – Open4education
O que é Spring Roo ?
 Add-ons default mantêm artefatos baseados em
   Padrões JCP
     JPA
     Bean Validation
     JSPX
   Padrões De Facto
     AspectJ
     Spring: Framework / MVC / Security / Web Flow
     REST / Tiles
     JUnit / Selenium




                                             Globalcode – Open4education
Como usar Spring Roo ?
 JDK 7 / 6 / 5
 Apache Maven 2.0.9 ou superior
 Spring Roo 1.0.x ( Roo Shel + Add-ons default)
 Opcionais:
   Banco de Dados ? (Hypersonic/H2 embutidos)
   IDE ? (facilita, se suportar AspectJ, como STS)
   Mouse ?




                                          Globalcode – Open4education
Como usar Spring Roo ?




        DEMO...

                         Globalcode – Open4education
Como customizar ?
 Entenda o Spring MVC
   Controllers / Interceptors / Suporte a REST
 Entenda o mecanismo ITD do AspectJ
   “Aspects can declare members (fields, methods, and
   constructors) that are owned by other types. ”
   Editar .java / Não editar .aj
   Push In ...
 Atualmente .jspx modificados automaticamente
   Hack #1: CSS
   Hack #2: copiar, renomear, reconfigurar Tiles Def

                                          Globalcode – Open4education
Quando Utilizar ?
 Dê preferência para projetos novos
   Sim, é possível utilizar em legados
 Não utilizar na mesma frase 2 das expressões:
   Equipe Inexperiente
   Prazo Apertado
   Requisitos Mal Definidos
 Expectativas alinhadas entre Desenvolvedores /
 Coordenadores / Usuários



                                         Globalcode – Open4education
Onde, Quem, e Depois ?
   Onde:
     forum.springsource.org/showthread.php?t=71985
     notasingleshot.blogspot.com =)
   Quem:
     twitter.com/benalexau
     twitter.com/schmidtstefan
   E Depois:
     Roo 1.1.0 : DB Reverse Engineering / JSPX modularity
     GWT / Flex ? : “we plan to offer support for fourth generation
     front-ends like Flex and GWT” - Stefan Schmidt
     JSF ?? : ROO-516 / kenai.com/projects/roofaces



                                                 Globalcode – Open4education

Spring Roo

  • 1.
    Spring Roo Renato Bellia http://notasingleshot.blogspot.com http://twitter.com/renatobellia Globalcode – Open4education
  • 2.
    Agenda – SpringRoo O que é ? Yet Another Java Framework ? Padrões de mercado Como utilizar ? Requisitos de Ambiente Demo Customizando Quando utilizar ? Onde / Quem / e Depois ? Globalcode – Open4education
  • 3.
    O que éSpring Roo ? Define uma nova geração de ferramentas RAD para desenvolvedores Java Não é um +1 framework Java Gerador/Gerenciador inteligente de código fonte Não introduz dependências em Run-Time Pode ser facilmente desligado de seu projeto Roo Shell : usabilidade + monitoramento Customizável através de Add-ons Globalcode – Open4education
  • 4.
    O que éSpring Roo ? Add-ons default mantêm artefatos baseados em Padrões JCP JPA Bean Validation JSPX Padrões De Facto AspectJ Spring: Framework / MVC / Security / Web Flow REST / Tiles JUnit / Selenium Globalcode – Open4education
  • 5.
    Como usar SpringRoo ? JDK 7 / 6 / 5 Apache Maven 2.0.9 ou superior Spring Roo 1.0.x ( Roo Shel + Add-ons default) Opcionais: Banco de Dados ? (Hypersonic/H2 embutidos) IDE ? (facilita, se suportar AspectJ, como STS) Mouse ? Globalcode – Open4education
  • 6.
    Como usar SpringRoo ? DEMO... Globalcode – Open4education
  • 7.
    Como customizar ? Entenda o Spring MVC Controllers / Interceptors / Suporte a REST Entenda o mecanismo ITD do AspectJ “Aspects can declare members (fields, methods, and constructors) that are owned by other types. ” Editar .java / Não editar .aj Push In ... Atualmente .jspx modificados automaticamente Hack #1: CSS Hack #2: copiar, renomear, reconfigurar Tiles Def Globalcode – Open4education
  • 8.
    Quando Utilizar ? Dê preferência para projetos novos Sim, é possível utilizar em legados Não utilizar na mesma frase 2 das expressões: Equipe Inexperiente Prazo Apertado Requisitos Mal Definidos Expectativas alinhadas entre Desenvolvedores / Coordenadores / Usuários Globalcode – Open4education
  • 9.
    Onde, Quem, eDepois ? Onde: forum.springsource.org/showthread.php?t=71985 notasingleshot.blogspot.com =) Quem: twitter.com/benalexau twitter.com/schmidtstefan E Depois: Roo 1.1.0 : DB Reverse Engineering / JSPX modularity GWT / Flex ? : “we plan to offer support for fourth generation front-ends like Flex and GWT” - Stefan Schmidt JSF ?? : ROO-516 / kenai.com/projects/roofaces Globalcode – Open4education