Processo de aprovação de documento
O exemplo DocumentApprovalProcess demonstra o uso de muitos recursos do WF (Windows Workflow Foundation) e do WCF (Windows Communication Foundation) juntos. Junto implementam um cenário do processo de aprovação do documento. Um aplicativo cliente pode enviar documentos para a aprovação e aprovar documentos. Um aplicativo do gerenciador de aprovação existe para facilitar comunicação entre clientes e para aplicar 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. As atividades existem para obter uma única aprovação, uma aprovação de quorum (uma porcentagem do conjunto de approvers), e um processo de aprovação complexo que consiste em um quorum e em uma única aprovação em uma sequência.
O seguinte gráfico demonstra o fluxo de trabalho do processo de aprovação do documento:
Da perspectiva de cliente, o processo de aprovação funciona como segue:
Um cliente assina para ser um usuário no sistema do processo de aprovação.
Um cliente do WCF envia para um serviço WCF hospedado pelo aplicativo gerenciador da aprovação.
Um usuário exclusivo - a identificação é retornada para o cliente. O cliente agora pode participar em processos de aprovação.
Uma vez que unido, um cliente pode enviar um documento para usar a aprovação única, o quorum ou processos de aprovação 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 o aplicativo gerenciador da aprovação.
O gerenciador de fluxo de trabalho inicia um fluxo de trabalho em seu próprio lado para representar um processo de aprovação.
Uma vez que o fluxo de trabalho de aprovação do aplicativo é executado, os resultados são novamente enviado ao cliente.
O cliente exibe os resultados.
Um cliente pode receber uma solicitação de aprovação e responder à solicitação em qualquer ponto no tempo.
Um serviço WCF hospedado no cliente pode receber uma solicitação de aprovação de aplicativo do gerenciador de aprovação.
Informações de documento é apresentada no cliente para revisão.
O usuário pode aprovar ou descartar o documento.
Um cliente do WCF é usado para enviar uma resposta da aprovação de volta para o aplicativo gerenciador da aprovação.
Do ponto de vista de aplicativo do gerenciador de aprovação, o processo de aprovação funciona da seguinte maneira:
Solicitações de cliente participar do sistema do processo de aprovação.
Um serviço WCF no gerenciador de aprovação recebe uma solicitação ser parte do sistema do processo de aprovação.
Uma identificação exclusiva é gerada para o cliente. Informações de usuário é armazenado em uma base de dados.
A identificação exclusiva é enviada para o usuário.
Uma solicitação de aprovação é receber. O gerenciador de aprovação executa um processo de aprovação.
Uma solicitação de aprovação é recebida pelo gerenciador de aprovação, iniciando um novo fluxo de trabalho.
Dependendo do tipo de solicitação (simples, quorum, ou complexo) uma atividade diferente é executada.
Enviar e receber atividades com correlação são usados para enviar a solicitação aprovação do cliente para a revisão e para receber a resposta.
O resultado de fluxo de trabalho do processo de aprovação é enviada para o cliente.
- De um prompt de comando do Visual Studio aberto com privilégios de administrador, navegue nesses pasta de DocumentApprovalProcess e Setup.cmd executado.
Usando o Visual Studio, abra o arquivo de solução de DocumentApprovalProcess.sln.
Para criar a solução, pressione CTRL+SHIFT+B.
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.
Abra um prompt de comando com permissão de administrador.
Navegue até a pasta que contém a solução.
Navegue até a pasta de ApprovalClient \ bin \ debug e executar duas instâncias de ApprovalClient.exe.
Clique em descobrir, espere até que o botão assinar seja ativado.
Digite qualquer nome de usuário e clique em assinar. Para um cliente, use
UserType1
e o outro tipoUserType2
.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 Solicitar Aprovação.No cliente de
UserType2
, um documento aguardando a aprovação aparece. Selecione-o e pressione aprovar ou rejeitar. Os resultados devem mostrar no cliente deUserType1
.
Abra um prompt de comando com permissão de administrador.
Navegue até a pasta que contém a solução.
Navegue até a pasta de ApprovalClient \ bin \ debug e executar três instâncias de ApprovalClient.exe.
Clique em descobrir, espere até que o botão assinar seja ativado.
Digite qualquer nome de usuário e clique em assinar. Para um uso
UserType1
de cliente e outros dois tipoUserType2
.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 Solicitar Aprovação. Isso requer que os dois clientes deUserType2
aprovam ou rejeitam o documento. Quando ambos os clientes deUserType2
devem responder, somente um cliente deve aprovar o documento para que esteja certo.Os clientes de
UserType2
, um documento aguardando a aprovação aparece. Selecione-o e pressione aprovar ou rejeitar. Os resultados devem mostrar no cliente deUserType1
.
Abra um prompt de comando com permissão de administrador.
Navegue até a pasta que contém a solução.
Navegue até a pasta de ApprovalClient \ bin \ debug e executar quatro instâncias de ApprovalClient.exe.
Clique em descobrir, espere até que o botão assinar seja ativado.
Digite qualquer nome de usuário e clique em assinar. Para um cliente, use
UserType1
no tipoUserType2
de dois usos, e o uso mais recenteUserType3
.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 Solicitar Aprovação.Os clientes de
UserType2
, um documento aguardando a aprovação aparece. Selecione-o e pressione aprovar, o documento é passado para o cliente deUserType3
.Se o documento é certo pela primeira quorum de
UserType2
, o documento é passado para o cliente deUserType3
.Aprove ou rejeite o documento de cliente de
UserType3
. Os resultados devem mostrar no cliente deUserType1
.
- De um prompt de comando do Visual Studio, navegue até a pasta DocumentApprovalProcess e execute Cleanup.cmd.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: