jboss seamreverbel/sma-06/slides/... · 2006-12-20 · introdução desenvolvido por gavin king,...

39
JBoss Seam Um framework para Java EE 5 [ Tiago Motta Jorge ]

Upload: others

Post on 13-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

JBoss SeamUm framework para Java EE 5

[ Tiago Motta Jorge ]

Page 2: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Outline

● Introdução● Conceitos básicos● Exemplos básicos● Conceitos Avançados● JSR299: WebBeans● Considerações finais

Page 3: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Introdução

● Desenvolvido por Gavin King, criador do

Hibernate● seam == emenda● Integração entre EJB3 e JSF através de

componentes contextuais.

Page 4: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Introdução

● EJB3: componentes de negócio● JSF: componentes visuais

Integração não definida na especificação da plataforma

Java EE 5!

Page 5: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Introdução

● Integrante do JBoss Enterprise Middleware Suite – JEMS

● Agrega outras tecnologias: AJAX, jBPM,

Web Services, JMS, Portlets

Page 6: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate

Page 7: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate

presentationtier

Page 8: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate

request controller

Page 9: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate

context management

Page 10: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate state management

Page 11: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

contextos

injeção

“ejeção”

+

Page 12: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

contextos

injeção

“ejeção”

+delimitadores para a existência de objetos

Page 13: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

contextos

injeção

“ejeção”

+delimitadores para a existência de objetos

ciclo de vida gerenciadopelo framework

Page 14: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

contextos

injeção

“ejeção”

+delimitadores para a existência de objetos

ciclo de vida gerenciadopelo framework

estende o conceito de IoC!

Page 15: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

componentes seam

Page 16: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

componentes seam

associados a contextos

Page 17: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

componentes seam

associados a contextos

identificados por nomes

Page 18: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

Contextos definidos pelo Seam:

Stateless, Event, Page, Conversation, Session, Application, Business Process

Page 19: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Exemplos básicos

(1) seam-registration

Page 20: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Exemplos básicos

(1) seam-registration

(2) seam-messages

Page 21: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos básicos

Contextos

Event: requisição

Session: sessão do usuário

Page 22: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

Contextos

Conversation: unidade de interação

Business Process: processo de negócio de longa duração

Page 23: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

Contextos

Conversation: unidade de interação

Business Process: processo de negócio de longa duração

jBPM

Page 24: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

jBPM: provê funcionalidadesofisticada para lidar com workflow e gerenciamento de tarefas

Page 25: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

jBPM: provê funcionalidadesofisticada para lidar com workflow e gerenciamento de tarefas

Exemplo: todo list

Page 26: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

jPDL: provê funcionalidadesofisticada para lidar com fluxo de páginas em uma aplicaçãocom uma navegação mais restrita

Page 27: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

jPDL: provê funcionalidadesofisticada para lidar com fluxo de páginas em uma aplicaçãocom uma navegação mais restrita

Exemplo: numberguess

Page 28: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

Aplicação completa: booking

Page 29: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

Testes suportados: unidade e integração

Page 30: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

Testes facilitados por:

(1) natureza POJO doscomponentes Seam

(2) bijeção e controle sobre o acesso aos componentes

Page 31: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

Possibilita a execução dos testes fora do ambiente de execução

normal!

Page 32: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

Seam debug page!

Page 33: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Conceitos avançados

Seam debug page!

- permite inspecionar qualquer componente seam de qualquer contexto associado com a sua sessão atual

Page 34: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

JSR299: WebBeans

- esforço no Java CommunityProcess para padronizar o modelode programação do Seam naplataforma Java EE 5

Page 35: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

JSR299: WebBeans

- esforço no Java CommunityProcess para padronizar o modelode programação do Seam naplataforma Java EE 5

- empresas envolvidas: JBoss,Google, Oracle, Borland e Sun

Page 36: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

JSR299: WebBeans

- visa padronizar as melhorescaracterísticas do JBoss Seam,Oracle Application DevelopmentFramework e Apache Struts Shale

Page 37: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Considerações finais

- JBoss Seam faz todo o “trabalhosujo” da integração entre JSF eEJB3, deixando o desenvolvedormais concentrado no domínio denegócios sendo modelado.

Page 38: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

Referências

● Revista Mundo Java #19 – ano IV

● http://labs.jboss.com/portal/jbossseam/gettingstarted

● http://docs.jboss.com/seam/1.0.0.GA/reference/en/html/tutorial.html

● http://docs.jboss.com/seam/1.0.0.GA/reference/en/html/index.html

Page 39: JBoss Seamreverbel/SMA-06/Slides/... · 2006-12-20 · Introdução Desenvolvido por Gavin King, criador do Hibernate seam == emenda Integração entre EJB3 e JSF através de componentes

JBoss SeamUm framework para Java EE 5

[ Tiago Motta Jorge ]{[email protected]}