Melhorando performance do JPA com Spring Web Flow

download Melhorando performance do JPA com Spring Web Flow

If you can't read please download the document

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.

Transcript of Melhorando performance do JPA com Spring Web Flow

  • 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?
  • A soluo
  • Uma soluo : Spring Web Flow
  • Consequnciase efeitos colaterais
  • Video demo

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;
  • Configurao por XML.

6. Consequncias e efeitos colaterais

  • Preserva o investimento na arquitetuta: JSF + Spring + JPA;
  • Uso efetivo de cache;
  • 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

  • Lunch or Coffee break!