spring roo: design simples e agilidade do desenvolvimento java

37

Upload: jugms

Post on 29-Jun-2015

1.638 views

Category:

Technology


0 download

DESCRIPTION

Palestra de João Paulo Sossoloti e Marcos Beirigo apresentada no Javaneiros 2010

TRANSCRIPT

Page 1: Spring Roo: design simples e agilidade do desenvolvimento java
Page 2: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo

Design simples e agilidade no desenvolvimento java.

Page 3: Spring Roo: design simples e agilidade do 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.

Page 4: Spring Roo: design simples e agilidade do desenvolvimento java

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!!!!!!

Page 5: Spring Roo: design simples e agilidade do desenvolvimento java

Agenda

• Apresentação

• Design e Arquitetura

• AOP – Aspectos (arghh!)

• Características

• Demonstração

• Conclusão

Page 6: Spring Roo: design simples e agilidade do desenvolvimento java

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)

Page 7: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo

“Roo trabalha em background e cuida das coisas com as quais você não quer se preocupar.”

http://www.springsource.org/roo

Page 8: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – O que é?

• Ferramenta de linha de comando extensível para Java.

• Nova abordagem para geração de código

(abordagem híbrida).

Page 9: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – O que não é?

• Não é um framework.

• Reflection free.

• Compile-time weaving.

Page 10: Spring Roo: design simples e agilidade do desenvolvimento java

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.

Page 11: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Usado durante o desenvolvimento.

Page 12: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• 100% Java EE.

Page 13: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Suporte a IDE’s.

Page 14: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Utiliza frameworks do Spring.

Page 15: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• JPA (Hibernate, OpenJPA, etc).

Page 16: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Maven.

Page 17: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Bean Validations (JSR 303).

Page 18: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Apache Tiles (template).

Page 19: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• JMS Provider.

Page 20: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Selenium e JUnit tests.

Page 21: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• GWT ou JSP.

Page 22: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Google App Engine.

Page 23: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• REST.

Page 24: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• WAR.

Page 25: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Jetty ou Tomcat.

Page 26: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Documentação simples online com vídeo.

Page 27: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Apresentação

• Twitter @SpringRoo.

Page 28: Spring Roo: design simples e agilidade do desenvolvimento java

Design e Arquitetura

• Cultura Ágil:– Baby steps.– Domain Driven Design.– Orientação a objetos.– Remoção de camadas desnecessárias.– Simplicidade.– Testes.

Page 29: Spring Roo: design simples e agilidade do desenvolvimento java

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.

Page 30: Spring Roo: design simples e agilidade do desenvolvimento java

Resumindo...

Page 31: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Características

• Utiliza AOP para criar um design simples.

• Em tempo de desenvolvimento.

Page 32: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Características

Remoção dos getters e setters!

Métodos CRUD na própria entidade!

Page 33: Spring Roo: design simples e agilidade do desenvolvimento java

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!

Page 34: Spring Roo: design simples e agilidade do desenvolvimento java

Spring Roo – Mãos à Obra

• Envio de votas das palestras.

• Web stardard, opensource e gratuito.

• Aplicação: avaliacao-javaneiros.

Page 35: Spring Roo: design simples e agilidade do desenvolvimento java

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.

Page 36: Spring Roo: design simples e agilidade do desenvolvimento java

Contato

[email protected]

@marcosbeirigo

[email protected]

@jopss

Page 37: Spring Roo: design simples e agilidade do desenvolvimento java