Melhorando performance do JPA com Spring Web Flow
Preview:
DESCRIPTION
Slides usado na apresentação realizada no TDC2009 em São Paulo (http://bit.ly/38wBwb). Trata de um problema específico no desenvolvimento de aplicação Web com a plataforma Java num período de transição de aplicações orientadas a requisições para orientadas a eventos (via JSF e Ajax). Sugere algumas soluções e como o Spring Web Flow resolve de maneira simples o problema apresentado.
Citation preview
- 1. Melhorando performance de JPA com Spring Web Flow Alberto
Lemos (Dr. Spock) Instrutor Globalcode Arquiteto de Software
2. Agenda
- O problema : Aplicaes web orientadas a requisies ou
eventos?
- Uma soluo : Spring Web Flow
- Consequnciase efeitos colaterais
3. O problema
- Como gerenciar o contexto de persistncia numa aplicao Web?
- No modelo orientado a requisies: Open Session In View
Filter
- No modelo orientado a eventos:Open Session In View Filter
(what?)
- JSFtrouxe uma mudana de paradigma:Componentizaoe eventos
(limitado!)
- JSF +Ajax=> Tratamento de eventos sofisticado!
4. A soluo
- Manter o contexto de persistncia numescopo de conversao !
- Escopo = Visibilidade + Tempo de vida
- Conversao = Visibilidade/Usurio + (requisio < tempo de vida
< sesso)
- Implementaes: Apache MyFaces Orchestra, Seam Framework eSpring
Web Flow
5. Uma Soluo: SWF
- Um dos produtos do Spring Portifolio;
- Turbina uma aplicao Web: Spring + JSF, Workflow, Ajax,
JavaScript, Spring MVC;
- Implementa os escopos de 'conversation' e 'flow';
- Gerencia um contexto de persistncia (HB ou JPA)nos escopos do
SWF;
6. Consequncias e efeitos colaterais
- Preserva o investimento na arquitetuta: JSF + Spring +
JPA;
- Goodbye LazyInitializationException!
- Suporte a paginao na camada de apresentao (view!);
- Reduo q tede objetos na sesso web;
- Nenhuma alterao nos componentes que usam
@PersistenceContext
- Uso de XML e merge de entidades!
7. Video Demo
- Consulta ao cadastro de produtos
- Edio de um Catlogo de Produtos
- Visualizao de Combos via mltiplos painis
8. Mais informaes ou dvidas
- E-mail: spock@globalcode.com.br