tdc 2008 jboss seam

25
Globalcode – Open4Education JBoss Seam Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode

Upload: dr-spock

Post on 11-Jun-2015

2.189 views

Category:

Technology


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: TDC 2008 JBoss Seam

Globalcode – Open4Education

JBoss Seam

Vinicius SengerCo-fundador Globalcode

Alberto J Lemos (Dr. Spock)Instrutor Globalcode

Page 2: TDC 2008 JBoss Seam

Globalcode – Open4Education

> 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

Agenda

Page 3: TDC 2008 JBoss Seam

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;

Page 4: TDC 2008 JBoss Seam

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.

Page 5: TDC 2008 JBoss Seam

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;

Page 6: TDC 2008 JBoss Seam

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

Page 7: TDC 2008 JBoss Seam

Globalcode – Open4Education

•Camada de•Apresentação

•Camada de•Negócios

•Camada de•Persistência

Arquitetura típica Java EE 5

Page 8: TDC 2008 JBoss Seam

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);

Page 9: TDC 2008 JBoss Seam

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.

Page 10: TDC 2008 JBoss Seam

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.

Page 11: TDC 2008 JBoss Seam

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;

Page 12: TDC 2008 JBoss Seam

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.

Page 13: TDC 2008 JBoss Seam

Globalcode – Open4Education

Faces / Seam / JPA / EJB

Camada de

Apresentação

Camada de

Negócios

Camada de

Persistência•JBoss Seam

Page 14: TDC 2008 JBoss Seam

Globalcode – Open4Education

Faces / Seam / JPA / EJB

Camada de

Apresentação

Camada de

Negócios

Camada de

Persistência•JBoss Seam

Page 15: TDC 2008 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.

Page 16: TDC 2008 JBoss Seam

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

Page 17: TDC 2008 JBoss Seam

Globalcode – Open4Education

Seam Component (#1/3)

Page 18: TDC 2008 JBoss Seam

Globalcode – Open4Education

Seam Component (#2/3)

Page 19: TDC 2008 JBoss Seam

Globalcode – Open4Education

Seam Component (#3/3)

Page 20: TDC 2008 JBoss Seam

Globalcode – Open4Education

Tela JSF usando JSP

Page 21: TDC 2008 JBoss Seam

Globalcode – Open4Education

Sobre os contextos do Seam

Page 22: TDC 2008 JBoss Seam

Globalcode – Open4Education

Sobre a bijeção do Seam

Page 23: TDC 2008 JBoss Seam

Globalcode – Open4Education

Demonstração

Page 24: TDC 2008 JBoss Seam

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/

Page 25: TDC 2008 JBoss Seam

Globalcode – Open4Education

Perguntas & Respostas