Preciso de um Framework, masPreciso de um Framework, mas
qual usar?qual usar?
Hébert Coelho de Oliveira
About me
• Pós: MIT em Engenharia de Software com
Java
• Analista Desenvolvedor Sênior: 10 anos+
• Professor de Java para ...
MinhocaMinhoca
O que veremos:O que veremos:
Servidores
IDEs
View
Business
Infra
ServidoresServidores
Como escolher o melhor servidor?
◦ Material de pesquisa
◦ Facilidade de Configuração
◦ Necessidade d...
Servidores - BenchmarkServidores - Benchmark
 http://antoniogoncalves.org/2011/10/20/o-java-ee-6-application-servers-wher...
ServidoresServidores
 Tomcat
 Jetty
 JBoss
 Glassfish
 TomEE
 Weblogic
 WebSphere
IDEsIDEs
Eclipse
MyEclipse
Netbeans
Intellij
ViewView
Cuidado apenas com prática
Cuidado com “blogs”
Entenda a tecnologia
ViewView
Action Based – (Push-Based)
Component Based – (Pull-Based)
View – Action BasedView – Action Based
Código Página
View – Component BasedView – Component Based
Código Página
View – Action x ComponentView – Action x Component
Action
◦ Maior controle do HTML
◦ Menor curva de aprendizado
◦ Cada aç...
View – Struts 1 [AB]View – Struts 1 [AB]
Vantagens Desvantagens
Configuração centralizada XML enorme
Formulários Grande cu...
View – Struts 2 [AB]View – Struts 2 [AB]
Vantagens Desvantagens
Fácil de Testar Compatibilidade
Suporte a Ajax Grande curv...
View – VRaptor [AB]View – VRaptor [AB]
Vantagens Desvantagens
Fácil de Configurar Não tem muitas vagas
Integrações com out...
View – Stripes [AB]View – Stripes [AB]
Vantagens Desvantagens
Não necessita de xml Comunidade pequena
Boa documentação Tem...
View – JSF [CB]View – JSF [CB]
Vantagens Desvantagens
Fácil de começar a usar Difícil de evoluir
Bibliotecas de ótima
qual...
View – Wicket [CB]View – Wicket [CB]
Vantagens Desvantagens
Boa documentação Bastante atenção as suas
regras
Frequentement...
View – Tapestry [CB]View – Tapestry [CB]
Vantagens Desvantagens
Código bem próximo a um
HTML
Documentação não muito
detalh...
View – GWT [CB]View – GWT [CB]
Vantagens Desvantagens
Garantia de compatibilidade
do JavaScript
Poucos livros sobre o
assu...
Business - EJBBusiness - EJB
Vantagens Desvantagens
Isolar a regra de negócio Especificação grande
Proteger em Firewall Ex...
PersistênciaPersistência
JDBC
JPA
MyBatis
Build ToolsBuild Tools
Tem que ter?
Ant
Maven
◦ JRebel
Gradle
Full stackFull stack
Spring
JBoss Seam
OBS.: Guice
JRebel Reports - TecnologiasJRebel Reports - Tecnologias
 http://zeroturnaround.com/rebellabs/developer-productivity-repo...
JRebel Reports - IDEJRebel Reports - IDE
JRebel Reports – Build ToolJRebel Reports – Build Tool
JRebel Reports – ServerJRebel Reports – Server
JRebelJRebel
ReportsReports
ViewView
Domain-Driven FrameworkDomain-Driven Framework
openxava
http://www.openxava.org/
Isis
http://isis.apache.org/
Roma Fram...
Domain-Driven FrameworkDomain-Driven Framework
Nexopen (Spring)
http://nexopen.sourceforge.net/reference/0.4.0/html_singl...
Últimas ConsideraçõesÚltimas Considerações
TécnicosTécnicos
Suporte ao Ajax
Bookmark e RESTful URL
Validação de dados
...
Últimas ConsideraçõesÚltimas Considerações
Sociais/ArquiteturaSociais/Arquitetura
Está sendo muito utilizado?
Como está ...
Dúvidas? ContatoDúvidas? Contato
http://uaihebert.com
http://cv.uaihebert.com
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
Upcoming SlideShare
Loading in...5
×

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

730

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
730
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

  1. 1. Preciso de um Framework, masPreciso de um Framework, mas qual usar?qual usar? Hébert Coelho de Oliveira
  2. 2. 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
  3. 3. MinhocaMinhoca
  4. 4. O que veremos:O que veremos: Servidores IDEs View Business Infra
  5. 5. ServidoresServidores Como 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
  6. 6. 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
  7. 7. ServidoresServidores  Tomcat  Jetty  JBoss  Glassfish  TomEE  Weblogic  WebSphere
  8. 8. IDEsIDEs Eclipse MyEclipse Netbeans Intellij
  9. 9. ViewView Cuidado apenas com prática Cuidado com “blogs” Entenda a tecnologia
  10. 10. ViewView Action Based – (Push-Based) Component Based – (Pull-Based)
  11. 11. View – Action BasedView – Action Based Código Página
  12. 12. View – Component BasedView – Component Based Código Página
  13. 13. View – Action x ComponentView – Action x Component Action ◦ 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
  14. 14. 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
  15. 15. 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
  16. 16. 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)
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. Business - EJBBusiness - EJB Vantagens 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
  23. 23. PersistênciaPersistência JDBC JPA MyBatis
  24. 24. Build ToolsBuild Tools Tem que ter? Ant Maven ◦ JRebel Gradle
  25. 25. Full stackFull stack Spring JBoss Seam OBS.: Guice
  26. 26. JRebel Reports - TecnologiasJRebel Reports - Tecnologias  http://zeroturnaround.com/rebellabs/developer-productivity-report-2012- java-tools-tech-devs-and-data/
  27. 27. JRebel Reports - IDEJRebel Reports - IDE
  28. 28. JRebel Reports – Build ToolJRebel Reports – Build Tool
  29. 29. JRebel Reports – ServerJRebel Reports – Server
  30. 30. JRebelJRebel ReportsReports ViewView
  31. 31. Domain-Driven FrameworkDomain-Driven Framework openxava http://www.openxava.org/ Isis http://isis.apache.org/ Roma Framework (Spring IOC) http://www.romaframework.org/ Tynamo (Tapestry) http://tynamo.org/
  32. 32. Domain-Driven FrameworkDomain-Driven Framework Nexopen (Spring) http://nexopen.sourceforge.net/reference/0.4.0/html_single/ jmatter http://jmatter.org/ Vraptor e Spring ROO
  33. 33. Últimas ConsideraçõesÚltimas Considerações TécnicosTécnicos Suporte ao Ajax Bookmark e RESTful URL Validação de dados Capacidade de testes Como trata Submissão/Redirect Facilidades de i18n Scaffolding
  34. 34. Últimas ConsideraçõesÚltimas Considerações Sociais/ArquiteturaSociais/Arquitetura Está 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
  35. 35. Dúvidas? ContatoDúvidas? Contato http://uaihebert.com http://cv.uaihebert.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×