Your SlideShare is downloading. ×
Spring Web Flow
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Spring Web Flow

4,392
views

Published on

Apresetação sobre o spring web flow

Apresetação sobre o spring web flow

Published in: Technology, News & Politics

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,392
On Slideshare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Desvendando o Spring Web Flow Thiago Baesso Procaci
  • 2.
    • Agenda
    • Apresentar o Spring Web Flow.
    • Testes unitários com o Spring Web Flow.
  • 3.
    • 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.
  • 4. Exemplo fluxo livre de navegação Links para direcionar o usuário.
  • 5.
    • 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.
  • 6.
    • Definindo fluxos web em nossas aplicações
    • Definir fluxos web é uma tarefa trabalhosa.
    • Framewoks usados no mercado:
    • Spring MVC
    • JSF
    • Struts
    • Entre outros.
  • 7.
    • 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...
  • 8.
    • 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.
  • 9. 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
  • 10.
    • 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.
  • 11. 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.
  • 12. Funcionamento geral do fluxo Tela busca Tela detalhe Tela listagem
  • 13. Máquina de estados no web flow Estado inicial Tela busca Tela detalhe Tela listagem
  • 14. 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
  • 15. 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
  • 16. Tela de listagem telaListagem.xhtml
  • 17. 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.
  • 18.
    • 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.
  • 19. Como testar um fluxo? Classe de apoio para os testes Instancia o mock (Mockito) Bean do fluxo XML com o fluxo a ser testado
  • 20.  
  • 21. Fim 