spring roo: design simples e agilidade do desenvolvimento java
DESCRIPTION
Palestra de João Paulo Sossoloti e Marcos Beirigo apresentada no Javaneiros 2010TRANSCRIPT
Spring Roo
Design simples e agilidade no desenvolvimento java.
Apresentação
• João Paulo Sossoloti
– Agence.– 25 anos.– 4 anos de experiência em Java.– Graduado em Tecnologia em Informática – UNIPAR.– Pós-Graduado em Sistemas Java Web – UNIPAR.– Pós-Graduado em Banco de Dados – UNIDERP.
Apresentação
• Marcos Gonçalves Beirigo
– Jera.– 23 anos.– 4 anos de experiência em Java.– Acadêmico de Análise de Sistemas – UFMS.– Pesquisa e desenvolvimento plataforma Android.– ESTAGIÁRIO!!!!!!
Agenda
• Apresentação
• Design e Arquitetura
• AOP – Aspectos (arghh!)
• Características
• Demonstração
• Conclusão
Spring Roo – Apresentação
• Surgiu após a compra do G2One, criadora do Grails, pela SpringSource.
• Independente de IDE, pelo console.
• “Roo” é um apelido para cangurus.
"A missão do Spring Roo é melhorar a produtivadade do desenvolvimento de aplicações java sem comprometer a
engenharia, integridade ou flexibilidade."
Ben Alex (Líder do projeto)
Spring Roo
“Roo trabalha em background e cuida das coisas com as quais você não quer se preocupar.”
http://www.springsource.org/roo
Spring Roo – O que é?
• Ferramenta de linha de comando extensível para Java.
• Nova abordagem para geração de código
(abordagem híbrida).
Spring Roo – O que não é?
• Não é um framework.
• Reflection free.
• Compile-time weaving.
Spring Roo – Código
• Gerador de código híbrido- O melhor da geração ativa e passiva.
- alcançado por decisões especificas do usuário.
• Geração passiva- A ferramenta gera código a comando do usuário.
• Geração ativa- Através de determinada ação do usuário, a ferramenta detecta que é necessário criar ou modificar código.
Spring Roo – Apresentação
• Usado durante o desenvolvimento.
Spring Roo – Apresentação
• 100% Java EE.
Spring Roo – Apresentação
• Suporte a IDE’s.
Spring Roo – Apresentação
• Utiliza frameworks do Spring.
Spring Roo – Apresentação
• JPA (Hibernate, OpenJPA, etc).
Spring Roo – Apresentação
• Maven.
Spring Roo – Apresentação
• Bean Validations (JSR 303).
Spring Roo – Apresentação
• Apache Tiles (template).
Spring Roo – Apresentação
• JMS Provider.
Spring Roo – Apresentação
• Selenium e JUnit tests.
Spring Roo – Apresentação
• GWT ou JSP.
Spring Roo – Apresentação
• Google App Engine.
Spring Roo – Apresentação
• REST.
Spring Roo – Apresentação
• WAR.
Spring Roo – Apresentação
• Jetty ou Tomcat.
Spring Roo – Apresentação
• Documentação simples online com vídeo.
Spring Roo – Apresentação
• Twitter @SpringRoo.
Design e Arquitetura
• Cultura Ágil:– Baby steps.– Domain Driven Design.– Orientação a objetos.– Remoção de camadas desnecessárias.– Simplicidade.– Testes.
AOP - Aspectos
• Diminui códigos duplicados.
• Fazer coisas em backgroud.
• Linguagem AOP.
• Alterar o comportamento de um código.
• Trigger de código!
• Normalmente usado para gerar logs ou gerenciamento transacional.
Resumindo...
Spring Roo – Características
• Utiliza AOP para criar um design simples.
• Em tempo de desenvolvimento.
Spring Roo – Características
Remoção dos getters e setters!
Métodos CRUD na própria entidade!
Spring Roo – Mãos à Obra
• Requerimentos:– Java 6 configurado.– Maven configurado.– Baixar
http://www.springsource.com/products/spring-community-download
– Descompactar.– Abrir o console.– Codar!
Spring Roo – Mãos à Obra
• Envio de votas das palestras.
• Web stardard, opensource e gratuito.
• Aplicação: avaliacao-javaneiros.
Spring Roo – Concluindo
• Fácil remoção.
• Fácil de usar e adaptar.
• Tecnologias conhecidas.
• Open Source.
• Constante evolução.
• Geração de código híbrida.
• Sem “rastros” no deploy.