Seam 3 e CDI: O futuro do Java EE 6

1.415 visualizações

Publicada em

0 comentários
0 gostaram
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações totais
No SlideShare
A partir de incorporações
Número de incorporações
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • CDI --> Contexts and Dependency Injection for Java EE Seam was created by a King who was tired of LazyInitializationException Loose Coupling, Strong typing
  • • A well-defined lifecycle for stateful objects bound to lifecycle contexts, where the set of contexts is extensible • A sophisticated, typesafe dependency injection mechanism, including the ability to select dependencies at either devel-     opment or deployment time, without verbose configuration • Support for Java EE modularity and the Java EE component architecture—the modular structure of a Java EE applica-       tion is taken into account when resolving dependencies between Java EE components • Integration with the Unified Expression Language (EL), allowing any contextual object to be used directly within a     JSF or JSP page • The ability to decorate injected objects • The ability to associate interceptors to objects via typesafe interceptor bindings • An event notification model • A web conversation context in addition to the three standard web contexts defined by the Java Servlets specification • An SPI allowing portable extensions to integrate cleanly with the container
  • Final   1. Solder   2. Catch   3. Config   4. Faces   5. International   6. Persistence    7. Remoting    8. REST   9. Security 10. Servlet 11. Validation 12. Wicket Análise 1. Cron 2. Drools 3. GWT 4. JCR 5. JMS 6. Mail 7. Reports 8. Social
  • 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> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li>IRC: Freenode --> #weld, #weld-dev, #seam, #seam-dev </li></ul></ul>
    13. 13. Dúvidas?