Spring Web Flow
Upcoming SlideShare
Loading in...5
×
 

Spring Web Flow

on

  • 4,559 views

Apresetação sobre o spring web flow

Apresetação sobre o spring web flow

Statistics

Views

Total Views
4,559
Views on SlideShare
2,249
Embed Views
2,310

Actions

Likes
0
Downloads
33
Comments
0

17 Embeds 2,310

http://thiagoprocaci.blogspot.com.br 1601
http://thiagoprocaci.blogspot.com 662
http://thiagoprocaci.blogspot.pt 17
http://thiagoprocaci.blogspot.com.es 6
http://thiagoprocaci.blogspot.com.ar 4
http://www.thiagoprocaci.blogspot.com.br 3
http://thiagoprocaci.blogspot.de 3
http://thiagoprocaci.blogspot.in 3
http://thiagoprocaci.blogspot.it 2
http://thiagoprocaci.blogspot.gr 2
http://thiagoprocaci.blogspot.co.nz 1
http://thiagoprocaci.blogspot.com.au 1
http://thiagoprocaci.blogspot.com. 1
http://www.blogger.com 1
http://thiagoprocaci.blogspot.mx 1
http://webcache.googleusercontent.com 1
http://thiagoprocaci.blogspot.be 1
More...

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Spring Web Flow Spring Web Flow Presentation Transcript

  • Desvendando o Spring Web Flow Thiago Baesso Procaci
    • Agenda
    • Apresentar o Spring Web Flow.
    • Testes unitários com o Spring Web Flow.
    • Tipos de Aplicações Web
    • Aplicações com fluxo livre de navegação.
    • São apresentados ao usuário um conjunto de links ou botões e o usuário escolhe onde ir (websites).
    • Conversação unilateral. O usuário só diz onde quer ir e a aplicação o redireciona.
  • Exemplo fluxo livre de navegação Links para direcionar o usuário.
    • Tipos de Aplicações Web
    • Aplicações com interações com o usuário sofisticadas.
    • A aplicação guia o usuário com base na conversação estabelecida com ele.
    • A aplicação faz perguntas e dependendo das respostas do usuário ela o direciona para um determinado conteúdo.
    • São as aplicações que geralmente desenvolvemos.
    • Definindo fluxos web em nossas aplicações
    • Definir fluxos web é uma tarefa trabalhosa.
    • Framewoks usados no mercado:
    • Spring MVC
    • JSF
    • Struts
    • Entre outros.
    • Problemas com fluxos no Struts, JSF e Spring MVC.
    • Forçam o desenvolvedor a representar fluxos através de simples controllers e páginas JSPs ou xhtml.
    • Vejamos o Struts...
    • Abordagem Struts....
    • Mapear uma requisição web a uma ação no controller.
    • A ação decide para qual página o usuário irá posteriormente.
    • É simples e funcional construir fluxos com o Struts porém, ele possui uma desvantagem: Todo o fluxo web é representado em um único arquivo de configuração (struts-config.xml).
    • Outro problema é a falta de flexibilidade quando precisa-se de reutilizar fluxos.
  • JSF e Spring MVC  Possuem algumas diferenças do Struts, mas a idéia é praticamente a mesma para representar fluxos. faces-config.xml (JSF) Mesma idéia do struts-config.xml
    • Como funciona o Spring Web Flow
    • Permite manipular a funcionalidade a ser implementada como uma máquina de estado.
    • A representação dessa máquina de estado é feita através de arquivos XML.
    • Mais flexível na representação de fluxos.
  • Exemplo prático. Considere o seguinte fluxo para manipulação de usuário (representado através de uma máquina de estados). Tela busca Tela detalhe Tela listagem As arestas são as transições de estado. q0, q1 e q2 são os estados. O funcionamento de estado + transições compõem o fluxo.
  • Funcionamento geral do fluxo Tela busca Tela detalhe Tela listagem
  • Máquina de estados no web flow Estado inicial Tela busca Tela detalhe Tela listagem
  • Analisando um estado View: referencia para telaBusca.xhtml As actions dos botões ou links disparam as transições. Bind com a variável nome. xhtml XML do fluxo
  • Disparando uma transição Tela busca Click em buscar Bean do container do spring na ação on render. Variáveis de bind transição Tela listagem Datatable iterando na variavel usuarioList
  • Tela de listagem telaListagem.xhtml
  • Meu controller é stateless. Não tem mais save state. Responsabilidade do spring web flow O reuso de fluxo, pode ser obtido através de herança ou subfluxos. O spring web flow permite.
    • Testes unitários de fluxos
    • Garantir qualidade significa testar.
    • O spring web flow permite fazer testes unitários das definições dos fluxos nos XML.
  • Como testar um fluxo? Classe de apoio para os testes Instancia o mock (Mockito) Bean do fluxo XML com o fluxo a ser testado
  •  
  • Fim 