Melhorando performance de JPA com Spring Web Flow Alberto Lemos (Dr. Spock) Instrutor Globalcode Arquiteto de Software
Agenda <ul><li>O problema : Aplicações web orientadas a requisições ou eventos? </li></ul><ul><li>A solução </li></ul><ul>...
O problema <ul><li>Como gerenciar o contexto de persistência numa aplicação Web? </li></ul><ul><li>No modelo orientado a r...
A solução <ul><li>Manter o contexto de persistência num  escopo de conversação ! </li></ul><ul><li>Escopo = Visibilidade +...
Uma Solução: SWF <ul><li>Um dos produtos do Spring Portifolio; </li></ul><ul><li>Turbina uma aplicação Web: Spring + JSF, ...
Consequências e efeitos colaterais <ul><li>Preserva o investimento na arquitetuta: JSF + Spring + JPA; </li></ul><ul><li>U...
Video Demo <ul><li>Consulta ao cadastro de produtos </li></ul><ul><li>Edição de um Catálogo de Produtos </li></ul><ul><li>...
Mais informações ou dúvidas <ul><li>Lunch or Coffee break! </li></ul><ul><li>E-mail: spock@globalcode.com.br </li></ul>
Upcoming SlideShare
Loading in …5
×

Melhorando performance do JPA com Spring Web Flow

3,604 views

Published on

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.

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,604
On SlideShare
0
From Embeds
0
Number of Embeds
1,440
Actions
Shares
0
Downloads
45
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Melhorando performance do JPA com Spring Web Flow

  1. 1. Melhorando performance de JPA com Spring Web Flow Alberto Lemos (Dr. Spock) Instrutor Globalcode Arquiteto de Software
  2. 2. Agenda <ul><li>O problema : Aplicações web orientadas a requisições ou eventos? </li></ul><ul><li>A solução </li></ul><ul><li>Uma solução : Spring Web Flow </li></ul><ul><li>Consequências e efeitos colaterais </li></ul><ul><li>Video demo </li></ul>
  3. 3. O problema <ul><li>Como gerenciar o contexto de persistência numa aplicação Web? </li></ul><ul><li>No modelo orientado a requisições: Open Session In View Filter </li></ul><ul><li>No modelo orientado a eventos: Open Session In View Filter (what?) </li></ul><ul><li>JSF trouxe uma mudança de paradigma: Componentização e eventos (limitado!) </li></ul><ul><li>JSF + Ajax => Tratamento de eventos sofisticado! </li></ul>
  4. 4. A solução <ul><li>Manter o contexto de persistência num escopo de conversação ! </li></ul><ul><li>Escopo = Visibilidade + Tempo de vida </li></ul><ul><li>Conversação = Visibilidade/Usuário + ( requisição < tempo de vida < sessão ) </li></ul><ul><li>Implementações: Apache MyFaces Orchestra, Seam Framework e Spring Web Flow </li></ul>
  5. 5. Uma Solução: SWF <ul><li>Um dos produtos do Spring Portifolio; </li></ul><ul><li>Turbina uma aplicação Web: Spring + JSF, Workflow, Ajax, JavaScript, Spring MVC; </li></ul><ul><li>Implementa os escopos de 'conversation' e 'flow'; </li></ul><ul><li>Gerencia um contexto de persistência (HB ou JPA) nos escopos do SWF; </li></ul><ul><li>Configuração por XML. </li></ul>
  6. 6. Consequências e efeitos colaterais <ul><li>Preserva o investimento na arquitetuta: JSF + Spring + JPA; </li></ul><ul><li>Uso efetivo de cache; </li></ul><ul><li>Goodbye LazyInitializationException! </li></ul><ul><li>Suporte a paginação na camada de apresentação (view!); </li></ul><ul><li>Redução q te de objetos na sessão web; </li></ul><ul><li>Nenhuma alteração nos componentes que usam @PersistenceContext </li></ul><ul><li>Uso de XML e “merge” de entidades! </li></ul>
  7. 7. Video Demo <ul><li>Consulta ao cadastro de produtos </li></ul><ul><li>Edição de um Catálogo de Produtos </li></ul><ul><li>Visualização de Combos via múltiplos painéis </li></ul>
  8. 8. Mais informações ou dúvidas <ul><li>Lunch or Coffee break! </li></ul><ul><li>E-mail: spock@globalcode.com.br </li></ul>

×