2. Sobre o palestrante Fred Policarpo – Frederico Policarpo Martins Bacharel em Ciência da Computação pela UFG (08/2007) Desenvolvedor Fibonacci – Soluções Ágeis MCP – Microsoft Certified Professional MCTS – Windows Applications MCTS – Windows Workflow Foundation Applications MCTS – Windows Presentation Foundation Applications http://fredpolicarpo.blogspot.com http://twitter.com/fredpolicarpo
3. Agenda Aplicações baseadas em fluxo O que é isso? Por que são importantes? Exemplo Windows Workflow Foundation Arquitetura Implementando o a Aplicação Exemplo Outros Usos Casos Reais WF no .NET 4.0 Conclusões
4. Aplicações baseadas em fluxoO que são ? São aplicações que podem ser facilmente visualizadas como uma sequência bem definida de atividades, e de um conjunto de regras que direciona o fluxo entre essas atividades.
5. Aplicações baseadas em fluxoPor que são importantes ? Em ambientes empresariais, por exemplo, existem uma série de processos que devem ser realizados, como solicitação de férias e submissão de um projeto. Esse processos seguem um conjunto bem definido de regras para que possam ser realizados. Aplicações baseadas em fluxo oferecem uma forma intuitiva de se automatizar esses processos.
6. Aplicações baseadas em fluxoExemplo: Submissão de Projetos Uma empresa é composta por funcionários Funcionários de uma empresa fazem parte de um grupo Cada grupo é subordinado a outro grupo, seguindo a seguinte hierarquia Desenvolvimento -> Gerencia -> Direção -> Presidência Administração -> Direção -> Presidência
8. Aplicações baseadas em fluxoExemplo: Submissão de Projetos Regras Apenas pessoas dos Grupos Desenvolvimento e Administração podem submeter projetos Para submeter um projeto é necessário informar o nome, o prazo, o custo e uma descrição do mesmo Quando um projeto é submetido ele fica pendente para que o superior do funcionário o aprove Caso projeto seja aprovado ele fica pendente para aprovação da presidência Sempre que houver uma rejeição a pessoa que submeteu o projeto deve ser notificada por email, o mesmo vale para aprovações
10. Windows Workflow FoundationArquitetura Por que usar o WF para construir esse tipo de aplicação ? Ele coordena o fluxo entre atividades Ele realiza a persistência do fluxo Fácil integração com serviços Ele permite uma construção do fluxo através de um designer
11. Windows Workflow FoundationArquitetura O WF é dividido em três principais partes Runtime: Responsável por conectar os fluxos aos serviços e responsável por disparar a execução das atividades e orquestrar o fluxo. Activities: Representam uma unidade única de execução, representam uma tarefa bem definida a ser executada por um dado fluxo. Services: São conectados ao runtime e proveem uma série de funcionalidades utilitárias para as instâncias que serão executadas Ex: Persistência Tracking Escalonamento Serviços Customizados
13. Fluxo de Submissão de Projetos Usando WF Definindo os Objetos de Negócio (Linq To Sql)
14. Fluxo de Submissão de Projetos Usando WF Demonstrar os passos para construção do fluxo no Visual Studio 2009 Executar testes de submissão de projetos Gerente, Diretor e Presidente tentam iniciar projeto Desenvolvedor Submete Projeto 1 Diretor visualiza pendências Presidente visualiza pendências Gerente visualiza pendências Administrador Submete Projeto 2 Gerente visualiza pendências Presidente visualiza pendências Diretor visualiza pendências
15. Fluxo de Submissão de Projetos Usando WF Executar testes de submissão de projetos (Continuação) Desenvolvedor Submete Projeto 3 Gerente visualiza pendências (2 pendências) Gerente aprova projeto 1 Gerente visualiza pendências (1 pendência) Gerente reprova projeto 2 Gerente visualiza pendências (0 pendências) Presidente Visualiza pendências (1 pendência) Diretor aprova Projeto 2 Diretor visualiza pendências (0 pendências)
16. Fluxo de Submissão de Projetos Usando WF Executar testes de submissão de projetos (Continuação) Presidente Visualiza pendências (2 pendências) Presidente Aprova Projeto 1 Presidente Visualiza pendências (1 pendência) Presidente Aprova Projeto 3 Presidente Visualiza pendências (0 pendências) Alterar regra para apenas gerente poder submeter projeto
17. Windows Workflow FoundationOutros cenários de uso Fluxo de Telas para Camada de Apresentação MVC Serviços (SOA) baseados em Workflow Integração com WCF Aplicações com Lógica configurável Embarcar o Workflow Designer na sua aplicação Escrever fluxos para o SharePoint 2007
19. Windows Workflow FoundationCase: FPw Workflow Produtoda LG Sistemas Desenvolvidopela Fibonacci – SoluçõesÁgeis Clientes VALE do Rio Doce RedeGlobo Unibanco
24. Windows Workflow FoundationFuturo: .NET Framework 4.0 Novo Workflow Designer Integração facilitada com WCF Maior simplicidade para se criar atividade customizadas (Não usar CodeActivity)
25. Conclusões Workflow é uma forma de modelar um problema do mundo real na forma de um conjunto de atividades gerenciada por um conjunto de regras Existe vários tipos de aplicações que podem ser implementadas na forma de Workflow WF – Fornece um framework que facilita a criação, a manutenção e atualização deste tipo de aplicação. WF 4.0 veio para facilitar ainda mais a construção deste tipo de aplicação