Seam 3 e CDI: O futuro do Java EE 6

1.421 visualizações

Publicada em

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Seam 3 e CDI: O futuro do Java EE 6

  1. 1. Seam 3 e CDI: O futuro do Java EE 6 Ricardo Martinelli, Red Hat
  2. 2. Agenda <ul><ul><li>A Especificação JSR-299 </li></ul></ul><ul><ul><li>CDI e Weld </li></ul></ul><ul><ul><li>Conceitos </li></ul></ul><ul><ul><li>CDI e JSR-330 </li></ul></ul><ul><ul><li>Seam 3 </li></ul></ul><ul><ul><li>Módulos Seam </li></ul></ul>
  3. 3. A história <ul><ul><li>Em 2005, Gavin (God!) King lança o Seam 1.0 com o intuito de reduzir a complexidade de desenvolvimento de aplicações JSF/EJB </li></ul></ul><ul><ul><li>Seam 2.0 é lançado em 2007 trazendo mais novidades  </li></ul></ul><ul><ul><li>Initial Draft da JSR-299  (inicialmente chamado de Web beans) </li></ul></ul><ul><ul><li>JSR-299 Expert Group (agora com o nome CDI) divulga o Final Release em 2009 </li></ul></ul><ul><ul><li>Seam 3 Beta é lançado em 2010 </li></ul></ul>
  4. 4. JSR-299 e o Weld <ul><ul><li>JSR-299 (CDI) </li></ul></ul><ul><ul><ul><li>Contexts and Dependency Injection for the Java EE Platform </li></ul></ul></ul><ul><ul><li>Weld </li></ul></ul><ul><ul><ul><li>JSR-299 Reference Implementation </li></ul></ul></ul><ul><ul><li>  Seam 3 </li></ul></ul><ul><ul><ul><li>Extensões para CDI </li></ul></ul></ul><ul><ul><ul><li>Integrações para tecnologias que não são Java EE </li></ul></ul></ul>
  5. 5. Seam 2, Seam 3 e a JSR-299 (Weld)
  6. 6. CDI e JSR-330 <ul><ul><li>JSR-330 - Dependency Injection for Java </li></ul></ul><ul><ul><li>Criado por Rod Johnson e Bob Lee (VMWare) </li></ul></ul><ul><ul><li>JSR-299 - Contexts  and Dependency Injection for Java </li></ul></ul><ul><ul><li>Criado por Gavin King (Red Hat) </li></ul></ul>
  7. 7. WTF!?  
  8. 8. JSR-299 <ul><li>&quot;1.2.4. Relationship to Dependency Injection for Java </li></ul><ul><li>The Dependency Injection for Java specification defines a set of annotations for the declaring injected fields, methods and </li></ul><ul><li>constructors of a bean. The dependency injection service makes use of these annotations.&quot; </li></ul>
  9. 9. Módulos Seam 3 <ul><ul><li>Parte da especificação CDI chamada Portable Extensions: </li></ul></ul><ul><ul><li>Fornece uma integração para uma funcionalidade específica </li></ul></ul><ul><ul><li>Você pode utilizar apenas os módulos necessários para o desenvolvimento da sua aplicação </li></ul></ul><ul><ul><li>Atualmente o Seam 3 possui 12 módulos na versão Final, mais 8 em desenvolvimento </li></ul></ul>
  10. 10. Módulos Seam (até o momento) <ul><ul><li>Catch </li></ul></ul><ul><ul><li>Cron </li></ul></ul><ul><ul><li>Config </li></ul></ul><ul><ul><li>Drools  </li></ul></ul><ul><ul><li>Errai </li></ul></ul><ul><ul><li>Faces </li></ul></ul><ul><ul><li>International </li></ul></ul><ul><ul><li>JCR </li></ul></ul><ul><ul><li>JMS </li></ul></ul><ul><ul><li>Mail </li></ul></ul><ul><ul><li>Persistence </li></ul></ul><ul><ul><li>Remoting </li></ul></ul><ul><ul><li>Reports </li></ul></ul><ul><ul><li>REST </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Servlet </li></ul></ul><ul><ul><li>Social </li></ul></ul><ul><ul><li>Solder </li></ul></ul><ul><ul><li>Wicket </li></ul></ul><ul><ul><li>Validation </li></ul></ul>
  11. 11. Demo  
  12. 12. Referências <ul><ul><li>http://www.seamframework.org </li></ul></ul><ul><ul><li>http://jcp.org/en/jsr/summary?id=299 </li></ul></ul><ul><ul><li>http://in.relation.to/Bloggers/Pete </li></ul></ul><ul><ul><li>http://seamframework.org/Weld </li></ul></ul><ul><ul><li>http://www.slideshare.net/joserodolfo_freitas </li></ul></ul><ul><ul><li>http://www.github.com/rimolive </li></ul></ul><ul><ul><li>IRC: Freenode --> #weld, #weld-dev, #seam, #seam-dev </li></ul></ul>
  13. 13. Dúvidas?  

×