Udostępnij za pośrednictwem


Proces zatwierdzania dokumentu

W przykładzie DocumentApprovalProcess pokazano, jak używać wielu funkcji programu Windows Workflow Foundation (WF) i Windows Communication Foundation (WCF). Razem implementują scenariusz procesu zatwierdzania dokumentów. Aplikacja kliencka może przesyłać dokumenty do zatwierdzenia i zatwierdzania dokumentów. Aplikacja menedżera zatwierdzania istnieje, aby ułatwić komunikację między klientami i wymusić reguły procesu zatwierdzania. Proces zatwierdzania to przepływ pracy, który może wykonywać kilka typów zatwierdzania. Istnieją działania w celu uzyskania pojedynczego zatwierdzenia, zatwierdzenia kworum (procent zestawu osób zatwierdzających) oraz złożonego procesu zatwierdzania składającego się z kworum i pojedynczego zatwierdzenia w sekwencji.

Przykładowe szczegóły

Na poniższej ilustracji przedstawiono przepływ pracy procesu zatwierdzania dokumentu:

A document approval process workflow

Z perspektywy klienta proces zatwierdzania działa w następujący sposób:

  1. Klient subskrybuje użytkownika w systemie procesów zatwierdzania.

  2. Klient programu WCF wysyła do usługi WCF hostowanej przez aplikację menedżera zatwierdzania.

  3. Unikatowy identyfikator użytkownika jest zwracany do klienta. Klient może teraz uczestniczyć w procesach zatwierdzania.

  4. Po dołączeniu klient może wysłać dokument do zatwierdzenia przy użyciu pojedynczych, kworum lub złożonych procesów zatwierdzania.

  5. Kliknięcie przycisku w interfejsie klienta, uruchomienie wystąpienia przepływu pracy na hoście usługi przepływu pracy klienta.

  6. Przepływ pracy wysyła żądanie zatwierdzenia do aplikacji menedżera zatwierdzania.

  7. Menedżer przepływu pracy uruchamia przepływ pracy po własnej stronie, aby reprezentować proces zatwierdzania.

  8. Po wykonaniu przepływu pracy zatwierdzania menedżera wyniki są wysyłane z powrotem do klienta.

  9. Klient wyświetla wyniki.

  10. Klient może otrzymać żądanie zatwierdzenia i odpowiedzieć na żądanie w dowolnym momencie.

  11. Usługa WCF hostowana na kliencie może otrzymać żądanie zatwierdzenia od aplikacji menedżera zatwierdzania.

  12. Informacje o dokumencie są prezentowane na kliencie do przeglądu.

  13. Użytkownik może zatwierdzić lub odrzucić dokument.

  14. Klient WCF służy do wysyłania odpowiedzi zatwierdzenia z powrotem do aplikacji menedżera zatwierdzania.

Z punktu widzenia aplikacji menedżera zatwierdzania proces zatwierdzania działa w następujący sposób:

  1. Klient żąda udziału w systemie procesu zatwierdzania.

  2. Usługa WCF w menedżerze zatwierdzania otrzymuje żądanie, które ma być częścią systemu procesu zatwierdzania.

  3. Unikatowy identyfikator jest generowany dla klienta. Informacje o użytkowniku są przechowywane w bazie danych.

  4. Unikatowy identyfikator jest wysyłany z powrotem do użytkownika.

  5. Żądanie zatwierdzenia jest odbierane. Menedżer zatwierdzania wykonuje proces zatwierdzania.

  6. Żądanie zatwierdzenia jest odbierane przez menedżera zatwierdzania, uruchamiając nowy przepływ pracy.

  7. W zależności od typu żądania (prostego, kworum lub złożonego) wykonywane jest inne działanie.

  8. Działania wysyłania i odbierania z korelacją służą do wysyłania żądania zatwierdzenia do klienta w celu przejrzenia i odebrania odpowiedzi.

  9. Wynik przepływu pracy procesu zatwierdzania jest wysyłany do klienta.

Korzystanie z przykładu

Aby skonfigurować bazę danych

  1. W wierszu polecenia programu Visual Studio otwartym z uprawnieniami Administracja istrator przejdź do tego folderu DocumentApprovalProcess i uruchom Setup.cmd.

Aby skonfigurować aplikację

  1. Za pomocą programu Visual Studio otwórz plik rozwiązania DocumentApprovalProcess.sln.

  2. Aby skompilować rozwiązanie, naciśnij klawisze CTRL+SHIFT+B.

  3. Aby uruchomić rozwiązanie, uruchom aplikację Menedżera zatwierdzania, klikając prawym przyciskiem myszy projekt ApprovalManager w Eksplorator rozwiązań i klikając polecenie Debuguj nowe> wystąpienie z menu prawym przyciskiem myszy.

    Poczekaj na dane wyjściowe menedżera, aby poinformować Cię, że jest gotowy.

Aby uruchomić scenariusz pojedynczego zatwierdzania

  1. Otwórz wiersz polecenia z uprawnieniami administratora.

  2. Przejdź do katalogu zawierającego rozwiązanie.

  3. Przejdź do folderu ApprovalClient\Bin\Debug i wykonaj dwa wystąpienia ApprovalClient.exe.

  4. Kliknij pozycję Odnajdź, zaczekaj na włączenie przycisku subskrybuj .

  5. Wpisz dowolną nazwę użytkownika i kliknij przycisk subskrybuj. W przypadku jednego klienta użyj polecenia UserType1 i innego typu UserType2.

  6. W kliencie UserType1 wybierz typ pojedynczego zatwierdzenia z menu rozwijanego i wpisz nazwę dokumentu i zawartość. Kliknij pozycję Zażądaj zatwierdzenia.

  7. W kliencie UserType2 zostanie wyświetlony dokument oczekujący na zatwierdzenie. Wybierz go i naciśnij przycisk Zatwierdź lub odrzuć. Wyniki powinny być wyświetlane w kliencie UserType1 .

Aby uruchomić scenariusz zatwierdzania kworum

  1. Otwórz wiersz polecenia z uprawnieniami administratora.

  2. Przejdź do katalogu zawierającego rozwiązanie.

  3. Przejdź do folderu ApprovalClient\Bin\Debug i wykonaj trzy wystąpienia ApprovalClient.exe.

  4. Kliknij pozycję Odnajdź, zaczekaj na włączenie przycisku subskrybuj .

  5. Wpisz dowolną nazwę użytkownika i kliknij przycisk subskrybuj. W przypadku jednego klienta należy użyć UserType1 i drugiego typu UserType2.

  6. UserType1 W kliencie wybierz typ zatwierdzenia kworum z menu rozwijanego i wpisz nazwę dokumentu i zawartość. Kliknij pozycję Zażądaj zatwierdzenia. Spowoduje to żądanie zatwierdzenia lub odrzucenia dokumentu przez dwóch UserType2 klientów. Chociaż obaj UserType2 klienci muszą odpowiedzieć, tylko jeden klient musi zatwierdzić dokument, aby został zatwierdzony.

  7. UserType2 Na klientach zostanie wyświetlony dokument oczekujący na zatwierdzenie. Wybierz go i naciśnij przycisk Zatwierdź lub odrzuć. Wyniki powinny być wyświetlane w kliencie UserType1 .

Aby uruchomić złożony scenariusz zatwierdzania

  1. Otwórz wiersz polecenia z uprawnieniami administratora.

  2. Przejdź do katalogu zawierającego rozwiązanie.

  3. Przejdź do folderu ApprovalClient\Bin\Debug i wykonaj cztery wystąpienia ApprovalClient.exe.

  4. Kliknij pozycję Odnajdź, zaczekaj na włączenie przycisku subskrybuj .

  5. Wpisz dowolną nazwę użytkownika i kliknij przycisk subskrybuj. W przypadku jednego klienta użyj klasy UserType1, w dwóch używa typu UserType2, a w ostatnim użyciu UserType3.

  6. W kliencie UserType1 wybierz typ pojedynczego zatwierdzenia z menu rozwijanego i wpisz nazwę dokumentu i zawartość. Kliknij pozycję Zażądaj zatwierdzenia.

  7. UserType2 Na klientach zostanie wyświetlony dokument oczekujący na zatwierdzenie. Wybierz go i naciśnij przycisk zatwierdź, a dokument zostanie przekazany do UserType3 klienta.

    Jeśli dokument zostanie zatwierdzony przez pierwsze UserType2 kworum, dokument zostanie przekazany do UserType3 klienta.

  8. Zatwierdź lub odrzuć UserType3 dokument od klienta. Wyniki powinny być wyświetlane w kliencie UserType1 .

Aby wyczyścić

  1. W wierszu polecenia programu Visual Studio przejdź do folderu DocumentApprovalProcess i uruchom Cleanup.cmd.