Processus d'approbation des documents
Cette rubrique s'applique à Windows Workflow Foundation 4.
Cet exemple illustre l'utilisation conjointe de nombreuses fonctionnalités Windows Workflow Foundation (WF) et Windows Communication Foundation (WCF). Ensemble, elles implémentent un scénario de processus d'approbation des documents. Une application cliente peut soumettre des documents pour approbation et approuver des documents. Une application du responsable des approbations existe pour faciliter les communications entre les clients et mettre en vigueur les règles du processus d'approbation. Le processus d'approbation est un workflow qui peut exécuter plusieurs types d'approbation. Il existe des activités pour obtenir une approbation unique, une approbation de quorum (pourcentage de l'ensemble d'approbateurs) et un processus d'approbation complexe qui se compose d'une approbation unique et de quorum dans une séquence.
Remarque : |
---|
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.
<LecteurInstall>:\WF_WCF_Samples
Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.
<LecteurInstall>:\WF_WCF_Samples\WF\Application\DocumentApprovalProcess
|
Détails de l'exemple
Le graphique suivant illustre le workflow de processus d'approbation des documents.
Du point de vue du client, le processus d'approbation fonctionne comme suit :
Un client s'abonne pour être un utilisateur dans le système du processus d'approbation.
Un client WCF envoie à un service WCF hébergé par l'application du responsable des approbations.
Un ID d'utilisateur unique est retourné au client. Le client peut maintenant participer aux processus d'approbation.
Une fois joint, un client peut envoyer un document pour approbation à l'aide de processus d'approbation unique, de quorum ou complexe.
Un clic sur un bouton dans l'interface du client permet de démarrer une instance de workflow dans un hôte du service de workflow client.
Le workflow envoie une demande d'approbation à l'application du responsable des approbations.
Le gestionnaire de workflow démarre un workflow de son propre côté pour représenter un processus d'approbation.
Une fois le workflow d'approbation du responsable exécuté, les résultats sont renvoyés au client.
Le client affiche les résultats.
Un client peut recevoir une demande d'approbation et y répondre à tout moment.
Un service WCF hébergé sur le client peut recevoir une demande d'approbation de l'application du responsable des approbations.
Les informations concernant les documents sont présentées sur le client à des fins de révision.
L'utilisateur peut approuver ou rejeter le document.
Un client WCF est utilisé pour renvoyer une réponse d'approbation à l'application du responsable des approbations.
Du point de vue de l'application du responsable des approbations, le processus d'approbation fonctionne comme suit :
Un client demande à participer au système du processus d'approbation.
Un service WCF sur le responsable des approbations reçoit une demande de faire partie du système du processus d'approbation.
Un ID unique est généré pour le client. Les informations utilisateur sont stockées dans une base de données.
L'ID unique est renvoyé à l'utilisateur.
Une demande d'approbation est reçue. Le responsable des approbations exécute un processus d'approbation.
Une demande d'approbation est reçue par le responsable des approbations, ce qui démarre un nouveau workflow.
Selon le type de demande (simple, quorum ou complexe), une activité différente est exécutée.
Les activités Send et Receive avec corrélation sont utilisées pour envoyer la demande d'approbation au client à des fins de révision et pour recevoir la réponse.
Le résultat du workflow de processus d'approbation est envoyé au client.
Utilisation de l'exemple
Pour configurer la base de données
- À partir d'une invite de commandes Visual Studio 2010, naviguez jusqu'à ce dossier DocumentApprovalProcess et exécutez Setup.cmd.
Pour configurer l'application
À l'aide de Visual Studio 2010, ouvrez le fichier solution DocumentApprovalProcess.sln.
Pour générer la solution, appuyez sur F6.
Pour exécuter la solution, lancez l'application du responsable des approbations en cliquant avec le bouton droit sur le projet ApprovalManager dans l'Explorateur de solutions et en cliquant sur Débogage->Démarrer une nouvelle instance dans le menu contextuel.
Attendez que la sortie du responsable vous indique qu'il est prêt.
Pour exécuter le scénario avec approbation unique
Ouvrez une invite de commandes avec l'autorisation d'administrateur.
Naviguez jusqu'au répertoire qui contient la solution.
Naviguez jusqu'au dossier ApprovalClient\Bin\Debug et exécutez deux instances d'ApprovalClient.exe.
Cliquez sur découvrir et attendez que le bouton s'abonner soit activé.
Tapez un nom d'utilisateur et cliquez sur s'abonner. Pour un client, utilisez
UserType1
et pour l'autre, tapezUserType2
.Dans le client
UserType1
, sélectionnez le type d'approbation unique dans le menu déroulant et tapez un nom de document ainsi qu'un contenu. Cliquez sur Demander une approbation.Dans le client
UserType2
, un document en attente d'approbation apparaît. Sélectionnez-le et appuyez sur approuver ou rejeter. Les résultats doivent s'afficher dans le clientUserType1
.
Pour exécuter le scénario avec approbation de quorum
Ouvrez une invite de commandes avec l'autorisation d'administrateur.
Naviguez jusqu'au répertoire qui contient la solution.
Naviguez jusqu'au dossier ApprovalClient\Bin\Debug et exécutez trois instances d'ApprovalClient.exe.
Cliquez sur découvrir et attendez que le bouton s'abonner soit activé.
Tapez un nom d'utilisateur et cliquez sur s'abonner. Pour un client, utilisez
UserType1
et pour les deux autres, tapezUserType2
.Dans le client
UserType1
, sélectionnez le type d'approbation de quorum dans le menu déroulant et tapez un nom de document ainsi qu'un contenu. Cliquez sur Demander une approbation. Ceci nécessite que les deux clientsUserType2
approuvent ou rejettent le document. Alors que les deux clientsUserType2
doivent répondre, un seul client doit approuver le document pour qu'il le soit.Dans les clients
UserType2
, un document en attente d'approbation apparaît. Sélectionnez-le et appuyez sur approuver ou rejeter. Les résultats doivent s'afficher dans le clientUserType1
.
Pour exécuter le scénario avec approbation complexe
Ouvrez une invite de commandes avec l'autorisation d'administrateur.
Naviguez jusqu'au répertoire qui contient la solution.
Naviguez jusqu'au dossier ApprovalClient\Bin\Debug et exécutez quatre instances d'ApprovalClient.exe.
Cliquez sur découvrir et attendez que le bouton s'abonner soit activé.
Tapez un nom d'utilisateur et cliquez sur s'abonner. Pour un client, utilisez
UserType1
, pour deux utilisations, tapezUserType2
et, pour le dernier, utilisezUserType3
.Dans le client
UserType1
, sélectionnez le type d'approbation unique dans le menu déroulant et tapez un nom de document ainsi qu'un contenu. Cliquez sur Demander une approbation.Dans les clients
UserType2
, un document en attente d'approbation apparaît. Sélectionnez-le et appuyez sur approuver, le document est passé au clientUserType3
.Si le document est approuvé par le premier quorum
UserType2
, le document est passé au clientUserType3
.Approuvez ou rejetez le document du client
UserType3
. Les résultats doivent s'afficher dans le clientUserType1
.
Pour nettoyer
- À partir d'une invite de commandes Visual Studio 2010, naviguez jusqu'au dossier DocumentApprovalProcess et exécutez Cleanup.cmd.