Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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,634 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
  • Be the first to comment

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>

×