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:
Z perspektywy klienta proces zatwierdzania działa w następujący sposób:
Klient subskrybuje użytkownika w systemie procesów zatwierdzania.
Klient programu WCF wysyła do usługi WCF hostowanej przez aplikację menedżera zatwierdzania.
Unikatowy identyfikator użytkownika jest zwracany do klienta. Klient może teraz uczestniczyć w procesach zatwierdzania.
Po dołączeniu klient może wysłać dokument do zatwierdzenia przy użyciu pojedynczych, kworum lub złożonych procesów zatwierdzania.
Kliknięcie przycisku w interfejsie klienta, uruchomienie wystąpienia przepływu pracy na hoście usługi przepływu pracy klienta.
Przepływ pracy wysyła żądanie zatwierdzenia do aplikacji menedżera zatwierdzania.
Menedżer przepływu pracy uruchamia przepływ pracy po własnej stronie, aby reprezentować proces zatwierdzania.
Po wykonaniu przepływu pracy zatwierdzania menedżera wyniki są wysyłane z powrotem do klienta.
Klient wyświetla wyniki.
Klient może otrzymać żądanie zatwierdzenia i odpowiedzieć na żądanie w dowolnym momencie.
Usługa WCF hostowana na kliencie może otrzymać żądanie zatwierdzenia od aplikacji menedżera zatwierdzania.
Informacje o dokumencie są prezentowane na kliencie do przeglądu.
Użytkownik może zatwierdzić lub odrzucić dokument.
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:
Klient żąda udziału w systemie procesu zatwierdzania.
Usługa WCF w menedżerze zatwierdzania otrzymuje żądanie, które ma być częścią systemu procesu zatwierdzania.
Unikatowy identyfikator jest generowany dla klienta. Informacje o użytkowniku są przechowywane w bazie danych.
Unikatowy identyfikator jest wysyłany z powrotem do użytkownika.
Żądanie zatwierdzenia jest odbierane. Menedżer zatwierdzania wykonuje proces zatwierdzania.
Żądanie zatwierdzenia jest odbierane przez menedżera zatwierdzania, uruchamiając nowy przepływ pracy.
W zależności od typu żądania (prostego, kworum lub złożonego) wykonywane jest inne działanie.
Działania wysyłania i odbierania z korelacją służą do wysyłania żądania zatwierdzenia do klienta w celu przejrzenia i odebrania odpowiedzi.
Wynik przepływu pracy procesu zatwierdzania jest wysyłany do klienta.
Korzystanie z przykładu
Aby skonfigurować bazę danych
- W wierszu polecenia programu Visual Studio otwartym z uprawnieniami Administracja istrator przejdź do tego folderu DocumentApprovalProcess i uruchom Setup.cmd.
Aby skonfigurować aplikację
Za pomocą programu Visual Studio otwórz plik rozwiązania DocumentApprovalProcess.sln.
Aby skompilować rozwiązanie, naciśnij klawisze CTRL+SHIFT+B.
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
Otwórz wiersz polecenia z uprawnieniami administratora.
Przejdź do katalogu zawierającego rozwiązanie.
Przejdź do folderu ApprovalClient\Bin\Debug i wykonaj dwa wystąpienia ApprovalClient.exe.
Kliknij pozycję Odnajdź, zaczekaj na włączenie przycisku subskrybuj .
Wpisz dowolną nazwę użytkownika i kliknij przycisk subskrybuj. W przypadku jednego klienta użyj polecenia
UserType1
i innego typuUserType2
.W kliencie
UserType1
wybierz typ pojedynczego zatwierdzenia z menu rozwijanego i wpisz nazwę dokumentu i zawartość. Kliknij pozycję Zażądaj zatwierdzenia.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 kliencieUserType1
.
Aby uruchomić scenariusz zatwierdzania kworum
Otwórz wiersz polecenia z uprawnieniami administratora.
Przejdź do katalogu zawierającego rozwiązanie.
Przejdź do folderu ApprovalClient\Bin\Debug i wykonaj trzy wystąpienia ApprovalClient.exe.
Kliknij pozycję Odnajdź, zaczekaj na włączenie przycisku subskrybuj .
Wpisz dowolną nazwę użytkownika i kliknij przycisk subskrybuj. W przypadku jednego klienta należy użyć
UserType1
i drugiego typuUserType2
.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óchUserType2
klientów. Chociaż obajUserType2
klienci muszą odpowiedzieć, tylko jeden klient musi zatwierdzić dokument, aby został zatwierdzony.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 kliencieUserType1
.
Aby uruchomić złożony scenariusz zatwierdzania
Otwórz wiersz polecenia z uprawnieniami administratora.
Przejdź do katalogu zawierającego rozwiązanie.
Przejdź do folderu ApprovalClient\Bin\Debug i wykonaj cztery wystąpienia ApprovalClient.exe.
Kliknij pozycję Odnajdź, zaczekaj na włączenie przycisku subskrybuj .
Wpisz dowolną nazwę użytkownika i kliknij przycisk subskrybuj. W przypadku jednego klienta użyj klasy
UserType1
, w dwóch używa typuUserType2
, a w ostatnim użyciuUserType3
.W kliencie
UserType1
wybierz typ pojedynczego zatwierdzenia z menu rozwijanego i wpisz nazwę dokumentu i zawartość. Kliknij pozycję Zażądaj zatwierdzenia.UserType2
Na klientach zostanie wyświetlony dokument oczekujący na zatwierdzenie. Wybierz go i naciśnij przycisk zatwierdź, a dokument zostanie przekazany doUserType3
klienta.Jeśli dokument zostanie zatwierdzony przez pierwsze
UserType2
kworum, dokument zostanie przekazany doUserType3
klienta.Zatwierdź lub odrzuć
UserType3
dokument od klienta. Wyniki powinny być wyświetlane w kliencieUserType1
.
Aby wyczyścić
- W wierszu polecenia programu Visual Studio przejdź do folderu DocumentApprovalProcess i uruchom Cleanup.cmd.