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.

Do Seam à CDI (JSR-299)

6,034 views

Published on

Apresentação feita no Javaneiros 2009 (14 de novembro, unaes, Campo Grande/MS).
Os artigos estão disponíveis em http://blog.gilliard.eti.br/tag/cdi/

Published in: Technology
  • Be the first to comment

Do Seam à CDI (JSR-299)

  1. 1. Do Seam à CDI (JSR-299)Gilliard Cordeiro<br />
  2. 2. Apresentação<br />Gilliard Cordeiro <br />http://gilliard.eti.br<br />gscordeiro@gmail.com<br />Analista de Sistemas pela UFMS<br />Especialista em Eng. de Software pela UNIDERP<br />Coordenador de Novas Tecnologias no Tribunal de Justiça de MS<br />Instrutor em cursos de Java no SENAC<br />Um dos coordenador do JUGMS<br />
  3. 3. JavaEE nos trilhos...<br />JavaEE 5 e 6 voltados para a produtividade<br />JavaEE 6 “aparando arestas” em JSF e JPA<br />Criação de perfis que separam o JavaEE em partes menores<br />Adição da CDI, que adiciona à stack padrão funcionalidades que usuários de Seam e Spring gostariam há um bom tempo<br />
  4. 4. Composição do perfil Web do JavaEE<br />Servlet 3.0<br />JavaServerPages (JSP) 2.2<br />ExpressionLanguage (EL) 2.2<br />Standard Tag Library for JavaServer Pages (JSTL) 1.2<br />JavaServerFaces (JSF) 2.0<br />Common Annotations for Java Platform (JSR-250) 1.1<br />Enterprise JavaBeans (EJB) 3.1 Lite<br />Java Transaction API (JTA) 1.1<br />Java Persistence API (JPA) 2.0<br />BeanValidation 1.0<br />JSR-299 1.0<br />JSR-330 1.0<br />Outros...<br />JavaEE separado em perfis<br />
  5. 5. JSR-299: ContextandDependencyInjection for Java EE<br />Vários nomes envolvidos na especificação<br />
  6. 6. JSR-299: ContextandDependencyInjection for Java EE<br />Vários nomes envolvidos na especificação<br />
  7. 7. JSR-299: ContextandDependencyInjection for Java EE<br />Características da CDI<br />Gerencia o ciclo de vida de objetos statefull<br />Provê um mecanismo de DI typesafe<br />Disponibiliza mecanismo de eventos facilitando o desenvolvimento com baixo acoplamento<br />Tem um mecanismo de interceptors e decorators<br />Possibilita a criação de extensões portáveis para qualquer implementação de CDI<br />
  8. 8. JSR-299: ContextandDependencyInjection for Java EE<br />Com a CDI, o que será do Seam?<br />Apesar de compartilhar muitos conceitos, as duas coisas continuarão existindo<br />Seam<br />PDF<br />jBPM<br />Regras<br />E-mail<br />Outros<br />Weld<br />CDI<br />
  9. 9. JSR-299: ContextandDependencyInjection for Java EE<br />Com a CDI, o que será do Seam?<br />O Seam é um conjunto maior de funcionalidades, enquanto a CDI representa apenas o “core”<br />A CDI não simplesmente padronizou o core do Seam; se baseou em idéias do Google Guice, Spring, e melhorias em conceitos do próprio Seam.<br />
  10. 10. JSR-299: ContextandDependencyInjection for Java EE<br />O que esperar do Seam3?<br />O Seam3 vai continuar com a filosofia de prover uma stack completa para desenvolvimento usando as tecnologias JavaEE<br />O Seam3 vai usar uma implementação de CDI (Weld?) como core e prover um série de extensões portáveis para a CDI<br />Integração com outros frameworks<br />jBPM, E-mail, Segurança, Engine de Regras, PDF, etc<br />Suportar componentes do Seam2<br />
  11. 11. JSR-299: ContextandDependencyInjection for Java EE<br />E o Weld, o que tem além da CDI<br />Não é o foco do Weld implementar muita coisa, isso deve ficar para o Seam3<br />No entanto ele provê algumas extensões:<br />Suporte ao ambiente JavaSE<br />Integração com Wicket<br />
  12. 12. JSR-299: ContextandDependencyInjection for Java EE<br />Exemplo<br />
  13. 13. JSR-299: ContextandDependencyInjection for Java EE<br />Perguntas?<br />
  14. 14. JSR-299: ContextandDependencyInjection for Java EE<br />Referências<br />http://jcp.org/en/jsr/summary?id=299<br />http://in.relation.to/<br />http://seamframework.org/Weld<br />

×