Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O exemplo DocumentApprovalProcess demonstra o uso de muitos recursos do Windows Workflow Foundation (WF) e do Windows Communication Foundation (WCF) juntos. Juntos, eles implementam um cenário de processo de aprovação de documentos. Um aplicativo cliente pode enviar documentos para aprovação e aprovar documentos. Existe uma aplicação de gestor de aprovação para facilitar as comunicações entre clientes e para fazer cumprir 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 única aprovação, uma aprovação por quórum (uma percentagem de um conjunto de aprovantes), e um processo complexo de aprovação que consiste numa sequência de quórum e aprovação única.
Detalhes da amostra
O gráfico a seguir demonstra o fluxo de trabalho do processo de aprovação de documentos:
Do ponto de vista do cliente, o processo de aprovação funciona da seguinte forma:
Um cliente se inscreve para ser um usuário no sistema de processo de aprovação.
Um cliente WCF envia para um serviço WCF que está hospedado pela aplicação gerenciadora de aprovações.
Um ID de usuário exclusivo é retornado ao cliente. O cliente pode agora participar nos processos de aprovação.
Uma vez associado, um cliente pode enviar um documento para aprovação usando processos de aprovação únicos, quórum ou complexos.
Um botão na interface do cliente é clicado, iniciando uma instância de fluxo de trabalho em um host de serviço de fluxo de trabalho do cliente.
O fluxo de trabalho envia uma solicitação de aprovação para o aplicativo do gerenciador de aprovação.
O gerenciador de fluxo de trabalho inicia um fluxo de trabalho por conta própria para representar um processo de aprovação.
Assim que o fluxo de trabalho de aprovação do gerente é executado, os resultados são enviados de volta ao cliente.
O cliente exibe os resultados.
Um cliente pode receber um pedido de aprovação e responder ao pedido a qualquer momento.
Um serviço WCF hospedado no cliente pode receber uma solicitação de aprovação do aplicativo gerenciador de aprovação.
As informações do documento são apresentadas no cliente para revisão.
O usuário pode aprovar ou rejeitar o documento.
Um cliente WCF é usado para enviar uma resposta de aprovação de volta para o aplicativo do gerenciador de aprovação.
Do ponto de vista da aplicação do gestor de aprovação, o processo de aprovação funciona da seguinte forma:
Um cliente solicita a participação no sistema do processo de aprovação.
Um serviço WCF no gerenciador de aprovação recebe uma solicitação para fazer parte do sistema do processo de aprovação.
Um ID exclusivo é gerado para o cliente. As informações do usuário são armazenadas em um banco de dados.
O ID exclusivo é enviado de volta ao usuário.
É recebido um pedido de aprovação. O gestor de aprovação executa um processo de aprovação.
Uma solicitação de aprovação é recebida pelo gerente de aprovação, iniciando um novo fluxo de trabalho.
Dependendo do tipo de solicitação (simples, quórum ou complexa), uma atividade diferente é executada.
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.
O resultado do fluxo de trabalho do processo de aprovação é enviado ao cliente.
Usando o exemplo
Para configurar o banco de dados
- 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
Usando o Visual Studio, abra o arquivo de solução DocumentApprovalProcess.sln.
Para criar a solução, pressione CTRL+SHIFT+B.
Para executar a solução, inicie o aplicativo Gestor de Aprovação ao clicar com o botão direito do rato no projeto ApprovalManager no Gerenciador de Soluções e selecionar Depurar->Iniciar nova instância no menu de contexto.
Aguarde que o gestor indique que está pronto.
Para executar o cenário de aprovação única
Abra um prompt de comando com permissão de administrador.
Navegue até o diretório que contém a solução.
Navegue para o ApprovalClient\Bin\Debug folder and execute two instances of ApprovalClient.exe.
Clique em descobrir, aguarde até que o botão de inscrição esteja ativado.
Digite qualquer nome de usuário e clique em assinar. Para um cliente, use
UserType1e o outro tipoUserType2.UserType1No cliente, selecione o tipo de aprovação única no menu suspenso e digite um nome e conteúdo do documento. Clique em Solicitar aprovação.UserType2No cliente, aparece um documento aguardando aprovação. Selecione-o e pressione aprovar ou rejeitar. Os resultados devem aparecer noUserType1cliente.
Para executar o cenário de aprovação de quórum
Abra um prompt de comando com permissão de administrador.
Navegue até o diretório que contém a solução.
Navegue para o Cliente de Aprovação\Bin\Debug folder and execute three instances of ApprovalClient.exe.
Clique em descobrir, aguarde até que o botão de inscrição esteja ativado.
Digite qualquer nome de usuário e clique em assinar. Para um cliente, use
UserType1e para os outros dois, utilizeUserType2.No cliente
UserType1, selecione o tipo de aprovação de quórum no menu suspenso e digite um nome e o conteúdo do documento. Clique em Solicitar aprovação. Isso solicita que os doisUserType2clientes aprovem ou rejeitem o documento. Embora ambos osUserType2clientes devam responder, apenas um cliente deve aprovar o documento para que ele seja aprovado.Nos clientes
UserType2, aparece um documento em espera de aprovação. Selecione-o e pressione aprovar ou rejeitar. Os resultados devem aparecer noUserType1cliente.
Para executar o cenário de aprovação complexo
Abra um prompt de comando com permissão de administrador.
Navegue até o diretório que contém a solução.
Navegue para o ApprovalClient\Bin\Debug folder and execute four instances of ApprovalClient.exe.
Clique em descobrir, aguarde até que o botão de inscrição esteja ativado.
Digite qualquer nome de usuário e clique em assinar. Para um uso de cliente
UserType1, em dois usos utilizeUserType2, e no último usoUserType3.UserType1No cliente, selecione o tipo de aprovação única no menu suspenso e digite um nome e conteúdo do documento. Clique em Solicitar aprovação.Nos clientes
UserType2, aparece um documento em espera de aprovação. Selecione-o e pressione aprovar, o documento é passado para oUserType3cliente.Se o documento for aprovado pelo primeiro
UserType2quórum, o documento é passado aoUserType3cliente.** Aprovar ou rejeitar o documento do cliente
UserType3. Os resultados devem aparecer noUserType1cliente.
Para limpar
- Em um prompt de comando do Visual Studio, navegue até a pasta DocumentApprovalProcess e execute Cleanup.cmd.