Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Desenvolvimento Produtivo com Spring Roo

2,604 views

Published on

Apresentação sobre desenvolvimento produtivo para web com Java, utilizando o Spring Roo, na universidade Metodista durante a 9a SESTINFO.

Published in: Sports
  • Be the first to comment

Desenvolvimento Produtivo com Spring Roo

  1. 1. SESTINFO 2012 Desenvolva aplicativos Java Web em pouco passos com Spring Roo Eder Magalhães twitter.com/edermag www.yaw.com.br Globalcode  –  Open4educationWednesday, May 16, 12
  2. 2. Agenda Mercado e oportunidades; Desafios em relizar uma idéia; Características do Spring Roo; Demo I: primeiro projeto; Tecnologias ao redor do Spring Roo; Demo II: relacionamento entre entidades; Como o Spring Roo gera código Java; Demo III: Spring + JSF 2; Engenharia reversa; Links; Globalcode  –  Open4educationWednesday, May 16, 12
  3. 3. Oportunidades O Brasil é a bola da vez; Mercado aquecido; Startups brotando em todos os lugares; Globalcode  –  Open4educationWednesday, May 16, 12
  4. 4. Colocar em prática! Realizar é uma idéia não é fácil; A escolha da tecnologia é um dos desafios! Globalcode  –  Open4educationWednesday, May 16, 12
  5. 5. A escolha da tecnologia Java é uma ótima escolha! Tecnologia madura e eficiente; Adotada em grande escala; Utilizada em diversos cenários; Oferece diversas tecnologias complementares; Viabiliza integração a outras linguagens; Globalcode  –  Open4educationWednesday, May 16, 12
  6. 6. A escolha da tecnologia Java é uma ótima escolha! Tecnologia madura e eficiente; Adotada em grande escala; Utilizada em diversos cenários; Oferece diversas tecnologias complementares; Viabiliza integração a outras linguagens; Globalcode  –  Open4educationWednesday, May 16, 12
  7. 7. Algumas premissas Criar software de qualidade e eficiente; Escalável, seguro e rápido; Ágil, a prova de mudanças no decorrer do projeto; E principalmente: Desenvolver com produtividade! Globalcode  –  Open4educationWednesday, May 16, 12
  8. 8. Spring Roo O Spring Roo atende a essas premissas; Desenvolvimento web, utilizando Java, com alta produtividade; Globalcode  –  Open4educationWednesday, May 16, 12
  9. 9. Características do Roo Text based: shell com comandos alto nível; Fácil de usar; Elimina a burocracia de projetos Java; Utiliza algumas das melhores tecnologias (frameworks) Java; Adota modelo de implementação baseado em patterns; Extensível; Integrado a IDE (Eclipse / Spring Tools Suite) Globalcode  –  Open4educationWednesday, May 16, 12
  10. 10. Chega de teoria! Demo I Vamos experimentar o Roo; Alguma sugestão para desenvolvimento da aplicação Demo? Globalcode  –  Open4educationWednesday, May 16, 12
  11. 11. Demo I: comandos executados roo> project --topLevelPackage br.com.yaw.pizzameto roo> persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY roo> entity jpa --class ~.model.Pizza roo> field string --fieldName sabor --notNull --sizeMin 3 roo> field number --type java.lang.Double --fieldName preco roo> web mvc setup roo> controller all --package ~.web perform package Globalcode  –  Open4educationWednesday, May 16, 12
  12. 12. Tecnologias suportadas pelo Roo Web  MVC Security JavaScript JUnit Dojo JPA JSF JSF PrimeFaces Globalcode  –  Open4educationWednesday, May 16, 12
  13. 13. Outras características Também agiliza o deploy e a implatanção; Geração de código é: Ativa ou Passiva; Suporte a diferentes soluções para front-end; Framework web baseado em REST; Conversor de Java para JSON e vice-versa; Gera artefatos para testes unitários e integrado; A qualquer momento pode ser desligado; Globalcode  –  Open4educationWednesday, May 16, 12
  14. 14. Demo II: complementar nosso aplicativo Criar relacionamento com outra entidade; Analisar os artefatos gerado pelo Roo; Globalcode  –  Open4educationWednesday, May 16, 12
  15. 15. Demo II: comandos executados roo> perform eclipse roo> entity jpa --class ~.model.Receita roo> field string descricao roo> focus --class ~.model.Pizza roo> field reference --fieldName receita --type ~.model.Receita roo> controller all --package ~.web #deploy pelo eclipse Globalcode  –  Open4educationWednesday, May 16, 12
  16. 16. Gerador de código Produto.java AspectJ  IDTs escreve Roo lê preco: double Add-on Produto_Roo_ JavaBean.aj lê getPreco()... SetPreco(...) lê escreve AspectJ Produto.class Compiler preco: double getPreco()... setPreco(...) Globalcode  –  Open4educationWednesday, May 16, 12
  17. 17. Demo III: Spring Roo com JSF 2 Utilizar a mesma idéia de aplicação, mas utilizando JSF 2 (+ Primefaces) como framework web; Globalcode  –  Open4educationWednesday, May 16, 12
  18. 18. Demo III: comandos executados roo> project --topLevelPackage br.com.yaw.pizzameto2 roo> persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY roo> entity jpa --class ~.model.Pizza roo> field string --fieldName sabor --notNull --sizeMin 3 roo> field number --type java.lang.Double --fieldName preco roo> web jsf setup --implementation ORACLE_MOJARRA --theme BLUESKY roo> web jsf all --package ~.jsf roo> perform package Globalcode  –  Open4educationWednesday, May 16, 12
  19. 19. Engenharia reversa! Gerar um cadastro a partir de uma tabela: roo> project --topLevelPackage br.com.yaw.rev roo> persistence setup --provider HIBERNATE --database MYSQL --databaseName test --hostName root --password root roo> database reverse engineer --schema test --package ~.model --includeTable “produto” Globalcode  –  Open4educationWednesday, May 16, 12
  20. 20. Spring Roo + JQuery + BootStrap Projeto que modifica os tag files do Roo (Spring MVC), para utilizar JQuery ao invés do Dojo e Bootstrap (css); http://github.com/edermag/roo-jquery Globalcode  –  Open4educationWednesday, May 16, 12
  21. 21. Links http://www.springsource.org/roo http://blog.globalcode.com.br/search/label/Spring%20Roo http://forum.springsource.org/forumdisplay.php?f=67 http://static.springsource.org/spring-roo/reference/html- single/index.html http://blog.springsource.com/category/roo/ http://www.yaw.com.br/screencast http://github.com/edermag Globalcode  –  Open4educationWednesday, May 16, 12
  22. 22. Obrigado ! eder@yaw.com.br twitter.com/edermag Globalcode  –  Open4educationWednesday, May 16, 12

×