Goedkeuringsproces voor documenten
In het DocumentApprovalProcess-voorbeeld ziet u het gebruik van veel WF- (Windows Workflow Foundation) en WCF-functies (Windows Communication Foundation). Samen implementeren ze een scenario voor documentgoedkeuringsproces. Een clienttoepassing kan documenten indienen voor goedkeuring en documenten goedkeuren. Er bestaat een goedkeuringsbeheertoepassing om communicatie tussen clients te vergemakkelijken en de regels van het goedkeuringsproces af te dwingen. Het goedkeuringsproces is een werkstroom die verschillende soorten goedkeuring kan uitvoeren. Er bestaan activiteiten om één goedkeuring te krijgen, een quorumgoedkeuring (een percentage van een set goedkeurders) en een complex goedkeuringsproces dat bestaat uit een quorum en één goedkeuring in een reeks.
Voorbeelddetails
In de volgende afbeelding ziet u de werkstroom voor het goedkeuringsproces voor documenten:
Vanuit het perspectief van de client functioneert het goedkeuringsproces als volgt:
Een client abonneert zich op een gebruiker in het goedkeuringsprocessysteem.
Een WCF-client verzendt naar een WCF-service die wordt gehost door de goedkeuringsbeheertoepassing.
Er wordt een unieke gebruikers-id geretourneerd naar de client. De client kan nu deelnemen aan goedkeuringsprocessen.
Na deelname kan een client een document verzenden voor goedkeuring met behulp van enkele, quorum- of complexe goedkeuringsprocessen.
Er wordt op een knop in de interface van de client geklikt, waarbij een werkstroomexemplaren in een clientwerkstroomservicehost worden gestart.
De werkstroom verzendt een goedkeuringsaanvraag naar de goedkeuringsbeheertoepassing.
De werkstroombeheerder start een werkstroom aan de eigen kant om een goedkeuringsproces weer te geven.
Zodra de goedkeuringswerkstroom van de manager wordt uitgevoerd, worden de resultaten teruggestuurd naar de client.
De resultaten worden weergegeven op de client.
Een client kan een goedkeuringsaanvraag ontvangen en op elk gewenst moment reageren op de aanvraag.
Een WCF-service die op de client wordt gehost, kan een goedkeuringsaanvraag ontvangen van de goedkeuringsbeheertoepassing.
De documentinformatie wordt ter beoordeling op de client gepresenteerd.
De gebruiker kan het document goedkeuren of afwijzen.
Een WCF-client wordt gebruikt om een goedkeuringsreactie terug te sturen naar de goedkeuringsbeheertoepassing.
Vanuit het oogpunt van de goedkeuringsbeheertoepassing functioneert het goedkeuringsproces als volgt:
Een client vraagt om deel te nemen aan het goedkeuringsprocessysteem.
Een WCF-service op de goedkeuringsbeheerder ontvangt een verzoek om deel uit te maken van het goedkeuringsprocessysteem.
Er wordt een unieke id gegenereerd voor de client. De gebruikersgegevens worden opgeslagen in een database.
De unieke id wordt teruggestuurd naar de gebruiker.
Er wordt een goedkeuringsaanvraag ontvangen. De goedkeuringsbeheerder voert een goedkeuringsproces uit.
Er wordt een goedkeuringsaanvraag ontvangen door de goedkeuringsmanager, die een nieuwe werkstroom start.
Afhankelijk van het type aanvraag (eenvoudig, quorum of complex) wordt een andere activiteit uitgevoerd.
Activiteiten voor verzenden en ontvangen met correlatie worden gebruikt om de goedkeuringsaanvraag naar de client te verzenden voor beoordeling en het ontvangen van het antwoord.
Het resultaat van de werkstroom voor het goedkeuringsproces wordt naar de client verzonden.
Het voorbeeld gebruiken
De database instellen
- Navigeer vanuit een Visual Studio-opdrachtprompt die is geopend met Beheer istrator-bevoegdheden naar deze map DocumentApprovalProcess en voer Setup.cmd uit.
De toepassing instellen
Open met Visual Studio het DocumentApprovalProcess.sln-oplossingsbestand.
Druk op Ctrl+Shift+B om de oplossing te bouwen.
Als u de oplossing wilt uitvoeren, start u de toepassing Approval Manager door met de rechtermuisknop op het Goedkeuringsmanager-project in Solution Explorer te klikken en in het snelmenu op Nieuwe instantie debug-Start> te klikken.
Wacht totdat de uitvoer van de manager u laat weten dat deze gereed is.
Het scenario met één goedkeuring uitvoeren
Open een opdrachtprompt met beheerdersmachtigingen.
Navigeer naar de map die de oplossing bevat.
Navigeer naar de map ApprovalClient\Bin\Debug en voer twee exemplaren van ApprovalClient.exe uit.
Klik op Ontdekken, wacht totdat de knop Abonneren is ingeschakeld.
Typ een gebruikersnaam en klik op Abonneren. Gebruik voor de ene client
UserType1
en het andere typeUserType2
.Selecteer in de
UserType1
client het enkele goedkeuringstype in de vervolgkeuzelijst en typ een documentnaam en -inhoud. Klik op Goedkeuring aanvragen.In de
UserType2
client wordt een document weergegeven dat wacht op goedkeuring. Selecteer deze en druk op goedkeuren of afwijzen. De resultaten moeten worden weergegeven in deUserType1
client.
Het scenario voor quorumgoedkeuring uitvoeren
Open een opdrachtprompt met beheerdersmachtigingen.
Navigeer naar de map die de oplossing bevat.
Navigeer naar de map ApprovalClient\Bin\Debug en voer drie exemplaren van ApprovalClient.exe uit.
Klik op Ontdekken, wacht totdat de knop Abonneren is ingeschakeld.
Typ een gebruikersnaam en klik op Abonneren. Voor het ene clientgebruik
UserType1
en het andere twee typeUserType2
.Selecteer in de
UserType1
client het goedkeuringstype quorum in de vervolgkeuzelijst en typ een documentnaam en inhoud. Klik op Goedkeuring aanvragen. Hiermee wordt aangevraagd dat de tweeUserType2
clients het document goedkeuren of afwijzen. Hoewel beideUserType2
clients moeten reageren, moet slechts één client het document goedkeuren om het te kunnen goedkeuren.In de
UserType2
clients wordt een document weergegeven dat wacht op goedkeuring. Selecteer deze en druk op goedkeuren of afwijzen. De resultaten moeten worden weergegeven in deUserType1
client.
Het complexe goedkeuringsscenario uitvoeren
Open een opdrachtprompt met beheerdersmachtigingen.
Navigeer naar de map die de oplossing bevat.
Navigeer naar de map ApprovalClient\Bin\Debug en voer vier exemplaren van ApprovalClient.exe uit.
Klik op Ontdekken, wacht totdat de knop Abonneren is ingeschakeld.
Typ een gebruikersnaam en klik op Abonneren. Voor één clientgebruik
UserType1
, in twee gebruikstypenUserType2
en in het laatste gebruikUserType3
.Selecteer in de
UserType1
client het enkele goedkeuringstype in de vervolgkeuzelijst en typ een documentnaam en -inhoud. Klik op Goedkeuring aanvragen.In de
UserType2
clients wordt een document weergegeven dat wacht op goedkeuring. Selecteer het en druk op Goedkeuren. Het document wordt doorgegeven aan deUserType3
client.Als het document wordt goedgekeurd door het eerste
UserType2
quorum, wordt het document doorgegeven aan deUserType3
client.Het document goedkeuren of afwijzen van de
UserType3
client. De resultaten moeten worden weergegeven in deUserType1
client.
Opschonen
- Navigeer vanuit een Visual Studio-opdrachtprompt naar de map DocumentApprovalProcess en voer Cleanup.cmd uit.