Compartilhar via


Processo de aprovação do documento

O DocumentApprovalProcess sample demonstra o uso de muitos recursos do Windows Workflow Foundation (WF) e do Windows Communication Foundation (WCF). Juntos, eles implementam um cenário de processo de aprovação de documento. Um aplicativo cliente pode enviar documentos para aprovação e aprovar documentos. Existe um aplicativo do gerenciador de aprovação para facilitar a comunicação entre os clientes e para impor as regras do processo de aprovação. O processo de aprovação é um fluxo de trabalho que pode executar vários tipos de aprovação. Existem atividades para obter uma aprovação única, uma aprovação de quorum (um percentual de conjunto de aprovadores) e um processo de aprovação complexo que consiste em um quorum e aprovação única em uma sequência.

Detalhes de exemplo

O gráfico a seguir demonstra o fluxo de trabalho do processo de aprovação do documento:

Um fluxo de trabalho do processo de aprovação de documento

Do ponto de vista do cliente, o processo de aprovação funciona da seguinte maneira:

  1. Um cliente assina para ser um usuário no sistema de processo de aprovação.

  2. Um cliente do WCF envia para um serviço WCF hospedado pelo aplicativo gerenciador da aprovação.

  3. Uma ID de usuário exclusiva é retornada ao cliente. O cliente agora pode participar de processos de aprovação.

  4. Depois de ingressado, um cliente pode enviar um documento para aprovação usando processos de aprovação únicos, quorum ou complexos.

  5. Um botão na interface do cliente é clicado, iniciando uma instância de fluxo de trabalho em um Host do Serviço de Fluxo de Trabalho do cliente.

  6. O fluxo de trabalho envia uma solicitação de aprovação para o aplicativo gerenciador de aprovação.

  7. O gerenciador de fluxo de trabalho inicia um fluxo de trabalho por conta própria para representar um processo de aprovação.

  8. Depois que o fluxo de trabalho de aprovação do gerente for executado, os resultados serão enviados de volta para o cliente.

  9. O cliente exibe os resultados.

  10. Um cliente pode receber uma solicitação de aprovação e responder à solicitação a qualquer momento.

  11. Um serviço WCF hospedado no cliente pode receber uma solicitação de aprovação do aplicativo do gerenciador de aprovação.

  12. As informações do documento são apresentadas no cliente para revisão.

  13. O usuário pode aprovar ou rejeitar o documento.

  14. Um cliente WCF é usado para enviar uma resposta de aprovação de volta ao aplicativo gerenciador de aprovação.

Do ponto de vista do aplicativo do gerenciador de aprovação, o processo de aprovação funciona da seguinte maneira:

  1. Um cliente solicita a participação no sistema de processo de aprovação.

  2. Um serviço WCF no contexto do gerenciador de aprovação recebe uma solicitação para ser parte do sistema de aprovação.

  3. Uma ID exclusiva é gerada para o cliente. As informações do usuário são armazenadas em um banco de dados.

  4. A ID exclusiva é enviada de volta ao usuário.

  5. Uma solicitação de aprovação é recebida. O gerenciador de aprovação executa um processo de aprovação.

  6. Uma solicitação de aprovação é recebida pelo gerenciador de aprovação, iniciando um novo fluxo de trabalho.

  7. Dependendo do tipo de solicitação (simples, quorum ou complexo), uma atividade diferente é executada.

  8. As atividades Enviar e Receber com correlação são usadas para enviar a solicitação de aprovação ao cliente para revisão e receber a resposta.

  9. O resultado do fluxo de trabalho do processo de aprovação é enviado ao cliente.

Usando o exemplo

Para configurar o banco de dados

  1. Em um prompt de comando do Visual Studio aberto com privilégios de administrador, navegue até esta pasta DocumentApprovalProcess e execute Setup.cmd.

Para configurar o aplicativo

  1. Usando o Visual Studio, abra o arquivo de solução DocumentApprovalProcess.sln.

  2. Para criar a solução, pressione CTRL+SHIFT+B.

  3. Para executar a solução, inicie o aplicativo gerenciador da aprovação clicando com o botão direito do mouse no projeto ApprovalManager no Gerenciador de Soluções e clicando em Depurar->Iniciar nova instância menu de clique com o botão direito do mouse.

    Espere que a saída do gerenciador informe que está pronto.

Para executar o único cenário de aprovação

  1. Abra um prompt de comando com permissão de administrador.

  2. Navegue até o diretório que contém a solução.

  3. Navegue até o ApprovalClient\Bin\Debug folder and execute two instances of ApprovalClient.exe.

  4. Clique em descobrir, aguarde até que o botão de assinatura esteja habilitado.

  5. Digite qualquer nome de usuário e clique em assinar. Para um cliente, use UserType1 e o outro tipo UserType2.

  6. No cliente de UserType1 , selecione o único tipo de aprovação do menu suspenso e digite um nome e um conteúdo do documento. Clique em Aprovação de Solicitação.

  7. UserType2 No cliente, um documento que aguarda aprovação é exibido. Selecione-o e pressione aprovar ou rejeitar. Os resultados devem ser mostrados no UserType1 cliente.

Para executar o cenário de aprovação de quorum

  1. Abra um prompt de comando com permissão de administrador.

  2. Navegue até o diretório que contém a solução.

  3. Navegue até o ApprovalClient\Bin\Debug folder and execute three instances of ApprovalClient.exe.

  4. Clique em descobrir, aguarde até que o botão de assinatura esteja habilitado.

  5. Digite qualquer nome de usuário e clique em assinar. Para um cliente, use UserType1 e, para os outros dois, digite UserType2.

  6. No cliente de UserType1 , selecione o tipo de aprovação de quorum no menu suspenso e digite um nome e um conteúdo do documento. Clique em Aprovação de Solicitação. Isso solicita que os dois UserType2 clientes aprovem ou rejeitem o documento. Embora ambos os UserType2 clientes precisem responder, apenas um cliente deve aprovar o documento para que ele seja aprovado.

  7. Os clientes de UserType2 , um documento aguardando a aprovação aparece. Selecione-o e pressione aprovar ou rejeitar. Os resultados devem ser mostrados no UserType1 cliente.

Para executar o cenário de aprovação complexo

  1. Abra um prompt de comando com permissão de administrador.

  2. Navegue até o diretório que contém a solução.

  3. Navegue até o ApprovalClient\Bin\Debug folder and execute four instances of ApprovalClient.exe.

  4. Clique em descobrir, aguarde até que o botão de assinatura esteja habilitado.

  5. Digite qualquer nome de usuário e clique em assinar. Para um uso de cliente, utilize UserType1; para dois usos, digite UserType2; e para o último uso, utilize UserType3.

  6. No cliente de UserType1 , selecione o único tipo de aprovação do menu suspenso e digite um nome e um conteúdo do documento. Clique em Aprovação de Solicitação.

  7. Os clientes de UserType2 , um documento aguardando a aprovação aparece. Selecione-o e pressione approve, o documento é passado para o UserType3 cliente.

    Se o documento for aprovado pelo primeiro UserType2 quorum, o documento será passado para o UserType3 cliente.

  8. Aprove ou rejeite o documento do UserType3 cliente. Os resultados devem ser mostrados no UserType1 cliente.

Para limpar

  1. Em um prompt de comando do Visual Studio, navegue até a pasta DocumentApprovalProcess e execute Cleanup.cmd.