Desenvolvimento Produtivo com Spring Roo

2,389 views
2,320 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
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,389
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
27
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

×