Upload
diogo-souza
View
182
Download
0
Embed Size (px)
Citation preview
SOBRE O PALESTRANTE
Graduado em Engenharia de Computação e pós-
graduando em Engenharia de Software
Trabalha com Java desde 2001
Atualmente lidera projetos de desenvolvimento
de software no Tribunal de Justiça de MS
AGENDA
Histórico do desenvolvimento web com Java
Um pouco de JSF
Introdução ao JBoss Seam
Contextos e Componentes
Visão geral de outras funcionalidades
Seam-gen: demonstração
HISTÓRICO
Java Servlets JavaServer Pages Boom de frameworks JavaServer Faces Frameworks “de 2ª. Geração” JBoss Seam Web Beans ... futuro!
JAVASERVER FACES
Arquitetura MVC
Conjunto pré-fabricado de componente UI
Modelo de programação baseado em eventos
Modelo de componentes permite fácil integração com IDE’s (ex. auto-completar, drag-and-drop, editores WYSIWYG)
Conversão “automática” de dados
Validação e tratamento de erros
JAVASERVER FACES – CICLO DE VIDA Restore View – reconstrução da árvore de
componetes Apply request values – conversão de valores Process validations – advinha? Update model values – valores dos componentes
são atribuídos às propriedades do backing bean Invoke application – tratamento de eventos,
invocação de métodos e avaliação da navegação Render response – atualização dos valores dos
componentes e renderização da resposta
JSF - PRINCIPAIS PROBLEMAS
POST! URL’s não amigáveis Submissão duplicada de formulários
Primeira requisição é subutilizada Back button Construção de componentes exige muito esforço
Facelets!
Falta de mecanismo de templating Facelets!
JSF - PRINCIPAIS PROBLEMAS
Escopo Request: exige codificação extra para
manter estado
Escopo Session:desperdício de memória
Não suporta nativamente multi janelas
LazyInitializationException
NonUniqueObjectException
JBOSS SEAM - INTRODUÇÃO
Framework para Enterprise Java
Modelo de componentes unificado
Integração JSF (apresentação) + EJB3 (lógica de negócio e persistência)
Integração com AJAX e jBPM
Preferência por anotações
Facilidade em realizar testes de integração
JBOSS SEAM - COMPONENTES EJB 3.0 stateless session beans
EJB 3.0 stateful session beans
EJB 3.0 entity beans
EJB 3.0 message-driven bean
JavaBeans
JBOSS SEAM - MELHORIAS E FACILIDADES
@Converter @Validator @Asynchronous <s:convertEntity> <s:convertEnum> <s:selectItems> <s:validateAll> <s:link>
JBOSS SEAM - MELHORIAS E FACILIDADES Seam Text Seam PDF Seam Mail Seam Remoting Seam Security Integração com jBPM Integração Wicket * Integração GWT Integração com Flex *
* Em andamento
REFERÊNCIAS
Seam Reference Guide www.seamframework.org
Seam in Action, Dan Allen, Manning, 2008.
Practical Jboss Seam Project, Jim Farley, Apress, 2007
JavaServer Faces in Action, Kito D. Mann, Manning, 2004