SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
JBoss Seam

      Vinicius Senger
  Co-fundador Globalcode
Alberto J Lemos (Dr. Spock)
    Instrutor Globalcode


                         Globalcode – Open4Education
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
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
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
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
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
Arquitetura típica Java EE 5
                                  •Camada de
             •Camada de            •Negócios
            •Apresentação




                                   •Camada de
                                   •Persistência




                               Globalcode – Open4Education
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
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
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
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
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
Faces / Seam / JPA / EJB
                                  Camada de
            Camada de              Negócios
           Apresentação




                                   Camada de
                                   Persistência
                 •JBoss Seam




                               Globalcode – Open4Education
Faces / Seam / JPA / EJB
              Camada de              Camada de
             Apresentação             Negócios




                                 Camada de
                                 Persistência
               •JBoss Seam




                             Globalcode – Open4Education
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
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
Seam Component (#1/3)




                        Globalcode – Open4Education
Seam Component (#2/3)




                        Globalcode – Open4Education
Seam Component (#3/3)




                        Globalcode – Open4Education
Tela JSF usando JSP




                      Globalcode – Open4Education
Sobre os contextos do Seam




                             Globalcode – Open4Education
Sobre a bijeção do Seam




                          Globalcode – Open4Education
Demonstração




               Globalcode – Open4Education
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
Perguntas & Respostas




                        Globalcode – Open4Education

Mais conteúdo relacionado

Mais procurados

Java Server Faces
Java Server FacesJava Server Faces
Java Server FacesJoão Longo
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFRafael Ponte
 
Descomplicando o Mobile com Ionic Framework
Descomplicando o Mobile com Ionic FrameworkDescomplicando o Mobile com Ionic Framework
Descomplicando o Mobile com Ionic FrameworkYan Borowski Machado
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Desenvolvimento em Três Camadas com PHP, MVC e AJAX
Desenvolvimento em Três Camadas com PHP, MVC e AJAXDesenvolvimento em Três Camadas com PHP, MVC e AJAX
Desenvolvimento em Três Camadas com PHP, MVC e AJAXManuel Lemos
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXOtávio Calaça Xavier
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?Douglas Aguiar
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão GeralEder Nogueira
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavajesuinoPower
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAndré Luiz Forchesatto
 
Introdução ao Asp.Net Mvc
Introdução ao Asp.Net MvcIntrodução ao Asp.Net Mvc
Introdução ao Asp.Net MvcGiovanni Bassi
 
Desenvolvimento Java
 Desenvolvimento Java Desenvolvimento Java
Desenvolvimento JavaSerge Rehem
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryReinaldo Junior
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBjesuinoPower
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
 

Mais procurados (20)

Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
GlassFish
GlassFishGlassFish
GlassFish
 
Magento: Mitos vs Vantagens
Magento: Mitos vs VantagensMagento: Mitos vs Vantagens
Magento: Mitos vs Vantagens
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 
Jboss Seam
Jboss SeamJboss Seam
Jboss Seam
 
Descomplicando o Mobile com Ionic Framework
Descomplicando o Mobile com Ionic FrameworkDescomplicando o Mobile com Ionic Framework
Descomplicando o Mobile com Ionic Framework
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Desenvolvimento em Três Camadas com PHP, MVC e AJAX
Desenvolvimento em Três Camadas com PHP, MVC e AJAXDesenvolvimento em Três Camadas com PHP, MVC e AJAX
Desenvolvimento em Três Camadas com PHP, MVC e AJAX
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
 
Introdução ao Asp.Net Mvc
Introdução ao Asp.Net MvcIntrodução ao Asp.Net Mvc
Introdução ao Asp.Net Mvc
 
Desenvolvimento Java
 Desenvolvimento Java Desenvolvimento Java
Desenvolvimento Java
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQuery
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEB
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSF
 

Semelhante a TDC 2008 JBoss Seam

JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaEduardo Bregaida
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesEder Magalhães
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaDr. Spock
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeEder Magalhães
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeAdriano Tavares
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Dr. Spock
 
JBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 FlorianópolisJBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 FlorianópolisGeorge Gastaldi
 
TDC 2008 Spring Framework
TDC 2008 Spring FrameworkTDC 2008 Spring Framework
TDC 2008 Spring FrameworkDr. Spock
 

Semelhante a TDC 2008 JBoss Seam (20)

JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
 
Introdução a jsf
Introdução a jsfIntrodução a jsf
Introdução a jsf
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com Java
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
TDC 2012 - JDF
TDC 2012 - JDFTDC 2012 - JDF
TDC 2012 - JDF
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o Forge
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java ee
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!
 
JBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 FlorianópolisJBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 Florianópolis
 
TDC 2008 Spring Framework
TDC 2008 Spring FrameworkTDC 2008 Spring Framework
TDC 2008 Spring Framework
 
JSF & REST
JSF & RESTJSF & REST
JSF & REST
 

Mais de Dr. Spock

Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageDr. Spock
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Dr. Spock
 
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemEvitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemDr. Spock
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
 
Workshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysWorkshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysDr. Spock
 
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6Dr. Spock
 
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6Dr. Spock
 
TDC2011: Spring Mobile
TDC2011: Spring MobileTDC2011: Spring Mobile
TDC2011: Spring MobileDr. Spock
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensDr. Spock
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseDr. Spock
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureDr. Spock
 
Spring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelSpring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelDr. Spock
 
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDesafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDr. Spock
 
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesPerformance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesDr. Spock
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDr. Spock
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaDr. Spock
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkDr. Spock
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineDr. Spock
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesDr. Spock
 
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDr. Spock
 

Mais de Dr. Spock (20)

Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
 
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemEvitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
 
Workshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysWorkshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToys
 
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
 
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
 
TDC2011: Spring Mobile
TDC2011: Spring MobileTDC2011: Spring Mobile
TDC2011: Spring Mobile
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 
Spring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelSpring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvel
 
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDesafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
 
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesPerformance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e Java
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do Framework
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App Engine
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
 
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSF
 

TDC 2008 JBoss Seam

  • 1. JBoss Seam Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode Globalcode – Open4Education
  • 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. 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. 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. 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. 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. Arquitetura típica Java EE 5 •Camada de •Camada de •Negócios •Apresentação •Camada de •Persistência Globalcode – Open4Education
  • 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. 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. 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. 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. 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. Faces / Seam / JPA / EJB Camada de Camada de Negócios Apresentação Camada de Persistência •JBoss Seam Globalcode – Open4Education
  • 14. Faces / Seam / JPA / EJB Camada de Camada de Apresentação Negócios Camada de Persistência •JBoss Seam Globalcode – Open4Education
  • 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. 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. Seam Component (#1/3) Globalcode – Open4Education
  • 18. Seam Component (#2/3) Globalcode – Open4Education
  • 19. Seam Component (#3/3) Globalcode – Open4Education
  • 20. Tela JSF usando JSP Globalcode – Open4Education
  • 21. Sobre os contextos do Seam Globalcode – Open4Education
  • 22. Sobre a bijeção do Seam Globalcode – Open4Education
  • 23. Demonstração Globalcode – Open4Education
  • 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. Perguntas & Respostas Globalcode – Open4Education