TDC 2008 JBoss Seam

2,393 views
2,250 views

Published on

Apresentação realizada no TDC 2008 em Florianópolis em conjunto com o Vinicius Senger, Nesta apresentação falamos sobre o framework para desenvolvimento de aplicações Web chamado de JBoss Seam.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,393
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
153
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

TDC 2008 JBoss Seam

  1. 1. JBoss Seam Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode Globalcode – Open4Education
  2. 2. Agenda > Introdução > Arquitetura típica Java EE 5 > O que é JBoss Seam? > Porque escolher o JBoss Seam? > Usando Seam com JSF, EJB e JPA > Demonstração > Perguntas & Respostas Globalcode – Open4Education
  3. 3. Introdução > JSF, EJB 3.0 e JPA representam os maiores progressos na tecnologia Java EE 5: > JSF: aplicações Web com semântica desktop; > EJB 3.0: poder da computação distribuída e transacional com POJO; > JPA: a forma mais fácil de persistir objetos em banco de dados; Globalcode – Open4Education
  4. 4. Introdução > Apesar de promover o uso de IoC, DI e anotações, algumas características não estão disponíveis na tecnologia Java EE 5: > Templates de tela Web: Facelets; > Suporte a Ajax: JBoss RichFaces; > Modelo de integração entre estas tecnologias: JBoss Seam ou Spring Framework; > A integração destas tecnologias representa um modelo de arquitetura a ser projetada durante o desenvolvimento. Globalcode – Open4Education
  5. 5. Plataforma Java EE 5 > O JSF permite a definição de Listeners de tela Web via JavaBeans (Managed Beans); > No Java EE 5 é possível: > Definir uma entidade persitente (Entity Bean) via anotações e POJOs; > Definir um componente de negócio (Stateless ou Stateful Session Bean) via anotações e POJOs; > Integrar os componentes de negócio e as entidades persistentes via anotações e DI; > Integrar os Managed Beans com os componentes de negócio via anotações e DI; Globalcode – Open4Education
  6. 6. Plataforma Java EE 5 > Contudo, o Java EE ainda exige numa aplicação Web o controle programático dos contextos transacionais e persistentes: > Demarcação programática num Managed Bean ou delegar para os EJB's; > Gerenciamento do contexto de persistência numa sessão Web para evitar erros (Ex.: LazyInitException). Globalcode – Open4Education
  7. 7. Arquitetura típica Java EE 5 •Camada de •Camada de •Negócios •Apresentação •Camada de •Persistência Globalcode – Open4Education
  8. 8. O que é JBoss Seam? > Um projeto open source de uso livre para construir aplicações Web ricas com Java, integrando Ajax, JSF, JPA, EJB 3.0 num framework unificado, completo e sofisticado; > Facilita a integração com baixo acoplamento das camadas de uma aplicação Web através de Ioc e DI via anotações; > Um JSF Managed Bean é substituído completamente por um Seam Component, que pode ser um JavaBean ou EJB (stateless ou statefull); Globalcode – Open4Education
  9. 9. O que é JBoss Seam? > Seam pode se integrar com Spring, Hibernate, Portlets, JPA, iText, EJB; > Pode ser usando em qualquer servidor de aplicações Java EE 5 ou Tomcat; > Promove um modelo de arquitetura desacoplada com uso intenso de DI. Globalcode – Open4Education
  10. 10. Melhorando a Arquitetura O JBoss Seam é um framework que promove uma arquitetura de integração destas tecnologias do Java EE numa aplicação Web ou Enterprise. Globalcode – Open4Education
  11. 11. Porque escolher Seam? > Framework para EJB 3: não há distinção entre JavaBeans e EJB; > Pode ser usado com J2EE 1.4 ou até mesmo com o Tomcat; > Fácil integração com bibliotecas de UI com suporte a Ajax; > Abordagem revolucionária no gerenciamento de sessão; > Diversos recursos agregados: JBoss Rules, jBPM, CAPTCHA; Globalcode – Open4Education
  12. 12. Porque escolher Seam? > Infra-estrutura adicional com: > Contextos avançados; > Fluxos de páginas e workflow; > Gerenciamento de transações JPA; > Validação por annotations; > Segurança com o JBoss Rules; > Métodos assíncronos com @Asynchronous. Globalcode – Open4Education
  13. 13. Faces / Seam / JPA / EJB Camada de Camada de Negócios Apresentação Camada de Persistência •JBoss Seam Globalcode – Open4Education
  14. 14. Faces / Seam / JPA / EJB Camada de Camada de Apresentação Negócios Camada de Persistência •JBoss Seam Globalcode – Open4Education
  15. 15. Aplicação com JBoss Seam > Um aplicativo JBoss Seam é composto por: > Um componente JBoss Seam: > Pode ser um EJB Stateless ou Stateful; > Pode ser um JavaBean; > Contém anotações do JBoss Seam > Página(s) JSP ou XHTML: > Uso de JSP é opcional; > XHTML é o recomendado para o futuro. Globalcode – Open4Education
  16. 16. Aplicação com JBoss Seam > Um aplicativo JBoss Seam é composto por: > Arquivo components.xml; > Configurações principais do Seam > Arquivo pages.xml: > Navegação do aplicativo, fora do faces- config.xml > Arquivo seam.properties: > Configuração de marcação Globalcode – Open4Education
  17. 17. Seam Component (#1/3) Globalcode – Open4Education
  18. 18. Seam Component (#2/3) Globalcode – Open4Education
  19. 19. Seam Component (#3/3) Globalcode – Open4Education
  20. 20. Tela JSF usando JSP Globalcode – Open4Education
  21. 21. Sobre os contextos do Seam Globalcode – Open4Education
  22. 22. Sobre a bijeção do Seam Globalcode – Open4Education
  23. 23. Demonstração Globalcode – Open4Education
  24. 24. Mais informações > Globalcode – The Developers Company http://www.globalcode.com.br/ > JBoss Seam Framework http://seamframework.org/ > JavaEE at a Glance http://java.sun.com/javaee/ > jboss.org http://www.jboss.org/ Globalcode – Open4Education
  25. 25. Perguntas & Respostas Globalcode – Open4Education

×