JBoss Seam Um framework para Java EE 5

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

Transcript of JBoss Seam Um framework para Java EE 5

Page 1: JBoss Seam Um framework para Java EE 5

JBoss SeamUm framework para Java EE 5

[ Tiago Motta Jorge ]

Page 2: JBoss Seam Um framework para Java EE 5

Outline

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

Page 3: JBoss Seam Um framework para Java EE 5

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 Seam Um framework para Java EE 5

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 Seam Um framework para Java EE 5

Introdução

● Integrante do JBoss Enterprise Middleware Suite – JEMS

● Agrega outras tecnologias: AJAX, jBPM,

Web Services, JMS, Portlets

Page 6: JBoss Seam Um framework para Java EE 5

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate

Page 7: JBoss Seam Um framework para Java EE 5

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate

presentationtier

Page 8: JBoss Seam Um framework para Java EE 5

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate

request controller

Page 9: JBoss Seam Um framework para Java EE 5

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate

context management

Page 10: JBoss Seam Um framework para Java EE 5

Introdução

JSP Facelets Portal

JSF

Seam

EJB3 jBPM Hibernate state management

Page 11: JBoss Seam Um framework para Java EE 5

Conceitos básicos

contextos

injeção

“ejeção”

+

Page 12: JBoss Seam Um framework para Java EE 5

Conceitos básicos

contextos

injeção

“ejeção”

+delimitadores para a existência de objetos

Page 13: JBoss Seam Um framework para Java EE 5

Conceitos básicos

contextos

injeção

“ejeção”

+delimitadores para a existência de objetos

ciclo de vida gerenciadopelo framework

Page 14: JBoss Seam Um framework para Java EE 5

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 Seam Um framework para Java EE 5

Conceitos básicos

componentes seam

Page 16: JBoss Seam Um framework para Java EE 5

Conceitos básicos

componentes seam

associados a contextos

Page 17: JBoss Seam Um framework para Java EE 5

Conceitos básicos

componentes seam

associados a contextos

identificados por nomes

Page 18: JBoss Seam Um framework para Java EE 5

Conceitos básicos

Contextos definidos pelo Seam:

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

Page 19: JBoss Seam Um framework para Java EE 5

Exemplos básicos

(1) seam-registration

Page 20: JBoss Seam Um framework para Java EE 5

Exemplos básicos

(1) seam-registration

(2) seam-messages

Page 21: JBoss Seam Um framework para Java EE 5

Conceitos básicos

Contextos

Event: requisição

Session: sessão do usuário

Page 22: JBoss Seam Um framework para Java EE 5

Conceitos avançados

Contextos

Conversation: unidade de interação

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

Page 23: JBoss Seam Um framework para Java EE 5

Conceitos avançados

Contextos

Conversation: unidade de interação

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

jBPM

Page 24: JBoss Seam Um framework para Java EE 5

Conceitos avançados

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

Page 25: JBoss Seam Um framework para Java EE 5

Conceitos avançados

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

Exemplo: todo list

Page 26: JBoss Seam Um framework para Java EE 5

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 Seam Um framework para Java EE 5

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 Seam Um framework para Java EE 5

Conceitos avançados

Aplicação completa: booking

Page 29: JBoss Seam Um framework para Java EE 5

Conceitos avançados

Testes suportados: unidade e integração

Page 30: JBoss Seam Um framework para Java EE 5

Conceitos avançados

Testes facilitados por:

(1) natureza POJO doscomponentes Seam

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

Page 31: JBoss Seam Um framework para Java EE 5

Conceitos avançados

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

normal!

Page 32: JBoss Seam Um framework para Java EE 5

Conceitos avançados

Seam debug page!

Page 33: JBoss Seam Um framework para Java EE 5

Conceitos avançados

Seam debug page!

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

Page 34: JBoss Seam Um framework para Java EE 5

JSR299: WebBeans

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

Page 35: JBoss Seam Um framework para Java EE 5

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 Seam Um framework para Java EE 5

JSR299: WebBeans

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

Page 37: JBoss Seam Um framework para Java EE 5

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 Seam Um framework para Java EE 5

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 Seam Um framework para Java EE 5

JBoss SeamUm framework para Java EE 5

[ Tiago Motta Jorge ]{[email protected]}