TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

36
Preciso de um Framework, mas Preciso de um Framework, mas qual usar? qual usar? Hébert Coelho de Oliveira

Transcript of TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Page 1: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Preciso de um Framework, mas Preciso de um Framework, mas qual usar? qual usar? Hébert Coelho de Oliveira

Page 2: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

About me• Pós: MIT em Engenharia de Software com Java

• Analista Desenvolvedor Sênior: 10 anos+

• Professor de Java para Pós Graduação

• Criador do blog uaiHebert.com

• Certificações: SCJP, SCWCD, OCBCD, OCJPAD

• Livro em andamento: JPA Eficaz

• Revisor do Livro: Primefaces CookBook

• Criador do EasyCriteria

Page 3: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
Page 4: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

MinhocaMinhoca

Page 5: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

O que veremos:O que veremos:Servidores

IDEs

View

Business

Infra

Page 6: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

ServidoresServidoresComo escolher o melhor servidor?◦ Material de pesquisa◦ Facilidade de Configuração◦ Necessidade de “re-deploy”◦ Preparo do artefato◦ Cuidado com “blogs”◦ Implementações que podem dar problema

(JSF)◦ Capacidade

Page 7: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Servidores - BenchmarkServidores - Benchmark http://antoniogoncalves.org/2011/10/20/o-java-ee-6-application-servers-where-art-thou/

http://hwellmann.blogspot.com.br/2011/06/java-ee-6-server-comparison.html

Page 8: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

ServidoresServidores Tomcat Jetty

JBoss Glassfish TomEE

Weblogic WebSphere

Page 9: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

IDEsIDEsEclipse

MyEclipse

Netbeans

Intellij

Page 10: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

ViewViewCuidado apenas com prática

Cuidado com “blogs”

Entenda a tecnologia

Page 11: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

ViewView

Action Based – (Push-Based)

Component Based – (Pull-Based)

Page 12: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – Action Based View – Action Based

Código Página

Page 13: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – Component BasedView – Component Based

Código Página

Page 14: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – Action x ComponentView – Action x ComponentAction◦ Maior controle do HTML◦ Menor curva de aprendizado◦ Cada ação geraria uma configuração específica

Component◦ Bom para reutilizar código/módulos◦ Design inicial agradável◦ Curva de aprendizado◦ Memória do servidor

Page 15: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – Struts 1 [AB]View – Struts 1 [AB]Vantagens Desvantagens

Configuração centralizada XML enorme

Formulários Grande curva de aprendizado

Tags Beans/HTML Péssima documentação

Validações Não é transparente

Dá foco ao MVC Abordagem rígida

Muito encontrado no mercado

Page 16: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – Struts 2 [AB]View – Struts 2 [AB]Vantagens Desvantagens

Fácil de Testar Compatibilidade

Suporte a Ajax Grande curva de aprendizado

Suporte a Anotações Documentação limitada

Diversas views Não é transparente

Plugins

Page 17: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – VRaptor [AB]View – VRaptor [AB]Vantagens Desvantagens

Fácil de Configurar Não tem muitas vagas

Integrações com outros frameworks

Alguns erros estranhos ainda acontecem

Bom suporte (GUJ)

Page 18: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – Stripes [AB]View – Stripes [AB]Vantagens Desvantagens

Não necessita de xml Comunidade pequena

Boa documentação Tem menos funcionalidades

Membros da comunidade são ativos

Page 19: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – JSF [CB]View – JSF [CB]Vantagens Desvantagens

Fácil de começar a usar Difícil de evoluir

Bibliotecas de ótima qualidade

Longa curva de aprendizado

Modularização

i18n – imagens

Front End oficial

Page 20: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – Wicket [CB]View – Wicket [CB]Vantagens Desvantagens

Boa documentação Bastante atenção as suas regras

Frequentemente atualizado Atualizações costumam quebrar código

Programadores experientes terão mais facilidade

Programadores inexperientes terão mais dificuldade

Pode levar a códigos de extrema complexidade

Page 21: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – Tapestry [CB]View – Tapestry [CB]Vantagens Desvantagens

Código bem próximo a um HTML

Documentação não muito detalhada

Boa produtividade para quem tem bom conhecimento

Curva de aprendizado bem inclinada

A cada nova versão, muitas funcionalidades estarão disponíveis

Upgrades demoram a chegar

Page 22: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

View – GWT [CB]View – GWT [CB]Vantagens Desvantagens

Garantia de compatibilidade do JavaScript

Poucos livros sobre o assunto

Grande empresa como investidora

A compilação de Java para JavaScript é lenta

Bom suporte de IDE Mais códigos do que JQuery

Integra com JUnit / JMock / TestNG

Page 23: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Business - EJBBusiness - EJBVantagens Desvantagens

Isolar a regra de negócio Especificação grande

Proteger em Firewall Extra Alta complexidade

Concurrent Access and Transaction Support

Muita chance de criar soluções complexas e que tenha um alto custo

JAAS

Pool/Caching

Clusterização

Page 24: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

PersistênciaPersistência

JDBC

JPA

MyBatis

Page 25: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Build ToolsBuild ToolsTem que ter?

Ant

Maven◦ JRebel

Gradle

Page 26: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Full stackFull stackSpring

JBoss Seam

OBS.: Guice

Page 27: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

JRebel Reports - TecnologiasJRebel Reports - Tecnologias http://zeroturnaround.com/rebellabs/developer-productivity-report-2012-

java-tools-tech-devs-and-data/

Page 28: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

JRebel Reports - IDEJRebel Reports - IDE

Page 29: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

JRebel Reports – Build ToolJRebel Reports – Build Tool

Page 30: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

JRebel Reports – ServerJRebel Reports – Server

Page 31: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

JRebel JRebel ReportsReportsViewView

Page 32: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Domain-Driven FrameworkDomain-Driven Frameworkopenxava

http://www.openxava.org/Isis

http://isis.apache.org/Roma Framework (Spring IOC)

http://www.romaframework.org/Tynamo (Tapestry)

http://tynamo.org/

Page 33: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Domain-Driven FrameworkDomain-Driven FrameworkNexopen (Spring)

http://nexopen.sourceforge.net/reference/0.4.0/html_single/

jmatter http://jmatter.org/

Vraptor e Spring ROO

Page 34: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Últimas ConsideraçõesÚltimas ConsideraçõesTécnicosTécnicosSuporte ao AjaxBookmark e RESTful URLValidação de dadosCapacidade de testesComo trata Submissão/RedirectFacilidades de i18nScaffolding

Page 35: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Últimas ConsideraçõesÚltimas ConsideraçõesSociais/ArquiteturaSociais/ArquiteturaEstá sendo muito utilizado?Como está a comunidade?Para aprender, tem material?Como é sua arquitetura?O código de um protótipo, é agradável?

Fácil? Complexo?Convenção sobre Configuração

Page 36: TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?

Dúvidas? ContatoDúvidas? Contatohttp://uaihebert.com

http://cv.uaihebert.com