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