Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JBoss Forge TDC - 2012 Florianópolis

4,859 views

Published on

Apresentação do JBoss Forge no evento The Developer's Conference 2012 em Florianópolis

Published in: Technology
  • Be the first to comment

JBoss Forge TDC - 2012 Florianópolis

  1. 1. JBoss Forge: Produtividade,Confiança e Testabilidade em um ambiente corporativo George Gastaldi Senior Software Engineer – JBoss by RedHat george.gastaldi@redhat.com Twitter: @gegastaldi Globalcode – Open4education
  2. 2. Quem Sou Eu ? JBoss Forge Core Developer CDI 1.1 Spec Expert Group Member(JSR 346) Líder Projeto Seam 3 Reports / Seam 3 JCR .. e mais, porém quem se importa ? :) @gegastaldi Globalcode – Open4education
  3. 3. “Tweet, tweet!”#JBossForge #TDC2012 Globalcode – Open4education
  4. 4. Agenda O problema Forge Demonstração Plugins Demonstração Perguntas e respostas Globalcode – Open4education
  5. 5. Java EE 6 é produtivo ? Globalcode – Open4education
  6. 6. Desenv. Java EE Hoje Inconsistências Diferentes configurações entre servidores de aplicação / implementações Integração Acoplamento entre dependências Testes Fragmentação Diferentes frameworks Globalcode – Open4education
  7. 7. Como resolver estes problemas ??? Globalcode – Open4education
  8. 8. Desenvolvedor JEE Globalcode – Open4education
  9. 9. Globalcode – Open4education
  10. 10. ResolvendoInconsistências É necessário: Experiência, exemplos Depreciar APIs antigas e configurações Uma comunidade centralizada para compartilhar conhecimento Globalcode – Open4education
  11. 11. Resolvendo Integração CDI Forte Tipificação //fires Event<Type> Baixo acoplamento @Interceptor @Decorator @Observes @Observes Type event Globalcode – Open4education
  12. 12. FragmentaçãoJava EE Security Servlets RichFaces Spring Java Transactions API (JTA) NetBeans Java Persistence API Eclipse OAUTH (JPA) jquery CDI JDBC AJAX Ant JAX-RS Payment Gateways (REST) Enterprise Java Beans 3.1 (EJB) SOAP Maven yui Tapestry Java Server Faces (JSF) Primefaces JSP Html 5 Seam Java Messaging Service (JMS) 3 Wicket OpenID Bean websockets Validation Infinispan Gradle Globalcode – Open4education
  13. 13. Resolvendo Fragmentação Requer: Uma plataforma centralizada Um repositório centralizado App Market Envolvimento e contribuição fortalecidos Globalcode – Open4education
  14. 14. E se tivéssemos : Globalcode – Open4education
  15. 15. 1. Algo para cuidar destas inconsistências, e configurar um projeto JEE corretamente Globalcode – Open4education
  16. 16. Globalcode – Open4education
  17. 17. 2. Um processo abstrato, porém consistente em integrar frameworks Globalcode – Open4education
  18. 18. $ setup persistence$ setup faces$ setup messaging$ setup security Globalcode – Open4education
  19. 19. 3. Um local único para compartilhar e colaborar Globalcode – Open4education
  20. 20. RichFaces NetBeans jquery Security yui Eclipse Spring MavenJava OAUTHEE Community Tapestry Ant GradleVRaptor PrettyFaces Seam 3 HTML5 Wicket OpenID websockets AJAX Infinispan Globalcode – Open4education
  21. 21. + + Globalcode – Open4education
  22. 22. Globalcode – Open4education
  23. 23. Globalcode – Open4education
  24. 24. Globalcode – Open4education
  25. 25. Plugins !!! Globalcode – Open4education
  26. 26. Arquitetura Globalcode – Open4education
  27. 27. E quanto aos testes de integração ? Globalcode – Open4education
  28. 28. http://www.jboss.org/arquillian Framework de testes orientado a container Globalcode – Open4education
  29. 29. Forge Globalcode – Open4education
  30. 30. 1. Escolha um container 2. Inicie ou conecte no container 4. Execute testes DENTRO do container 3. Empacote e realize o deploy5. Capture resultados 6. Realize deploy e desconecte Globalcode – Open4education
  31. 31. Possíveis idéias de plugins VRaptor JavaFX JCompany (Jaguar) Hibernate Envers https://issues.jboss.org/browse/FORGEPLUGIN S Globalcode – Open4education
  32. 32. Perguntas Freqüentes Globalcode – Open4education
  33. 33. Porque outra ferramenta ? Design voltado à situação: unificando comunidades fragmentadas Open-source, orientado a padrões Plugins são legais Globalcode – Open4education
  34. 34. Porque linha decomando ? Interfaces Gráficas são geralmente pesadas para tarefas simples Fortalece scripting e automação: repetibilidade Testabilidade Facilidade em criar testes Globalcode – Open4education
  35. 35. Maven NÃO é uma abstração do Maven A arquitetura do Forge é atualmente agnóstica ao sistema de build Globalcode – Open4education
  36. 36. Porque não usar os MavenArchetypes ? É difícil em fazer “escolhas” Archetype executado = Archetype finalizado. Forge continua evoluindo o projeto Plugins desacoplam os interesses Globalcode – Open4education
  37. 37. Resumo Forge nos auxilia a: Criar aplicações e mantê-las através de plugins para as tarefas repetitivas Resolver problemas de configuração Integrar com ferramentas e tecnologias existentes Adicionar/ativar tecnologias com o auxílio de plugins Globalcode – Open4education
  38. 38. Perguntas ? Globalcode – Open4education
  39. 39. Website: http://forge.jboss.orgTwitter: http://twitter.com/JBossForgeForum: http://community.jboss.org/en/forgeVídeos: http://vimeo.com/channels/jbossforgeIRC: #forge / irc.freenode.net Globalcode – Open4education

×