14
Seam 3 e CDI: O Futuro do Java EE Ricardo Martinelli de Oliveira

JBossInBossa2011

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: JBossInBossa2011

Seam 3 e CDI: O Futuro do Java EE

Ricardo Martinelli de Oliveira

Page 2: JBossInBossa2011

Agenda

• A especificação JSR-299• CDI e Weld• Conceitos• CDI e JSR-330• Seam 3• Módulos Seam

Page 3: JBossInBossa2011

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

Page 4: JBossInBossa2011

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

Page 5: JBossInBossa2011

Seam 2, Seam 3 e a JSR-299 (Weld)

Page 6: JBossInBossa2011

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)

Page 7: JBossInBossa2011
Page 8: JBossInBossa2011

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."

Page 9: JBossInBossa2011

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

Page 10: JBossInBossa2011

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

Page 11: JBossInBossa2011

Demo

Page 12: JBossInBossa2011

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• http://www.slideshare.net/rimolive  • IRC: Freenode --> #weld, #weld-dev, #seam, #seam-dev

Page 13: JBossInBossa2011

NÃO PERCAM!

Você pode Seam! Aplicações Java para Web de forma simples -

Hanneli Tavante

Page 14: JBossInBossa2011

Dúvidas?