Dokumentum-jóváhagyási folyamat
A DocumentApprovalProcess minta a Windows Workflow Foundation (WF) és a Windows Communication Foundation (WCF) számos funkciójának együttes használatát mutatja be. Együtt implementálnak egy dokumentum-jóváhagyási folyamatot. Az ügyfélalkalmazások dokumentumokat küldhetnek jóváhagyásra és dokumentumok jóváhagyására. A jóváhagyási kezelő alkalmazás az ügyfelek közötti kommunikáció megkönnyítése és a jóváhagyási folyamat szabályainak betartatása érdekében létezik. A jóváhagyási folyamat egy munkafolyamat, amely több típusú jóváhagyást is végrehajthat. A tevékenységek egyetlen jóváhagyást, kvórum-jóváhagyást (a jóváhagyók százalékos arányát) és egy összetett jóváhagyási folyamatot alkotnak, amely kvórumból és egy sorrendben történő egyszeri jóváhagyásból áll.
Minta részletei
Az alábbi ábra a dokumentum-jóváhagyási folyamat munkafolyamatát mutatja be:
Az ügyfél szempontjából a jóváhagyási folyamat a következőképpen működik:
Az ügyfél feliratkozik arra, hogy felhasználó legyen a jóváhagyási folyamat rendszerében.
A WCF-ügyfél elküldi a jóváhagyási kezelő alkalmazás által üzemeltetett WCF-szolgáltatásnak.
A rendszer egy egyedi felhasználói azonosítót ad vissza az ügyfélnek. Az ügyfél most már részt vehet a jóváhagyási folyamatokban.
A csatlakozás után az ügyfél elküldhet egy dokumentumot jóváhagyásra egyetlen, kvórum vagy összetett jóváhagyási folyamat használatával.
Az ügyfél felületének egyik gombjára kattintva elindít egy munkafolyamat-példányt egy ügyfél munkafolyamat-szolgáltatás gazdagépén.
A munkafolyamat jóváhagyási kérelmet küld a jóváhagyási kezelő alkalmazásnak.
A munkafolyamat-kezelő saját oldalán indít el egy munkafolyamatot, amely egy jóváhagyási folyamatot jelöl.
A kezelő jóváhagyási munkafolyamatának végrehajtása után a rendszer visszaküldi az eredményeket az ügyfélnek.
Az ügyfél megjeleníti az eredményeket.
Az ügyfél bármikor megkaphatja a jóváhagyási kérelmet, és válaszolhat a kérésre.
Az ügyfélen üzemeltetett WCF-szolgáltatás jóváhagyási kérelmet kaphat a jóváhagyási kezelő alkalmazástól.
A dokumentum információi áttekintésre kerülnek az ügyfélen.
A felhasználó jóváhagyhatja vagy elutasíthatja a dokumentumot.
A WCF-ügyfél a jóváhagyási válasz visszaküldésére szolgál a jóváhagyási kezelő alkalmazásnak.
A jóváhagyási kezelő alkalmazás szempontjából a jóváhagyási folyamat az alábbiak szerint működik:
Egy ügyfél kéri, hogy vegyen részt a jóváhagyási folyamat rendszerében.
A jóváhagyási kezelő WCF-szolgáltatása kérést kap, hogy a jóváhagyási folyamat rendszerének része legyen.
A rendszer egyedi azonosítót hoz létre az ügyfél számára. A felhasználói adatokat egy adatbázisban tárolja a rendszer.
Az egyedi azonosítót a rendszer visszaküldi a felhasználónak.
Jóváhagyási kérelem érkezik. A jóváhagyási kezelő végrehajt egy jóváhagyási folyamatot.
A jóváhagyási kérelmet a jóváhagyási vezető fogadja, és elindít egy új munkafolyamatot.
A kérés típusától függően (egyszerű, kvórum vagy összetett) a rendszer egy másik tevékenységet hajt végre.
A korrelációval rendelkező küldési és fogadási tevékenységek arra szolgálnak, hogy a jóváhagyási kérelmet elküldjék az ügyfélnek felülvizsgálatra, és megkapják a választ.
A jóváhagyási folyamat eredményét a rendszer elküldi az ügyfélnek.
A minta használata
Az adatbázis beállítása
- Az Rendszergazda istrator jogosultságokkal megnyitott Visual Studio-parancssorból keresse meg ezt a DocumentApprovalProcess mappát, és futtassa a Setup.cmd.
Az alkalmazás beállítása
A Visual Studio használatával nyissa meg a DocumentApprovalProcess.sln megoldásfájlt.
A megoldás létrehozásához nyomja le a CTRL+SHIFT+B billentyűkombinációt.
A megoldás futtatásához indítsa el a Jóváhagyási kezelő alkalmazást úgy, hogy a jobb gombbal a Jóváhagyásimanager projektre kattint a Megoldáskezelő, majd a jobb gombbal kattintva a Debug-Start> új példányra kattint.
Várja meg, amíg a kezelő kimenete jelzi, hogy készen áll.
Az egyszeri jóváhagyási forgatókönyv futtatása
Nyisson meg egy parancssort rendszergazdai engedéllyel.
Keresse meg a megoldást tartalmazó könyvtárat.
Lépjen a ApprovalClient\Bin\Debug mappába, és hajtsa végre a ApprovalClient.exe két példányát.
Kattintson a Felfedezés gombra, várja meg, amíg a feliratkozás gomb engedélyezve van.
Írja be a felhasználónevet, és kattintson a feliratkozás gombra. Az egyik ügyfélhez használja a másikat
UserType1
UserType2
.Az ügyfélben
UserType1
válassza ki az egyetlen jóváhagyási típust a legördülő menüből, és írja be a dokumentum nevét és tartalmát. Kattintson a Jóváhagyás kérése gombra.Az ügyfélben
UserType2
megjelenik egy jóváhagyásra váró dokumentum. Jelölje ki, és nyomja le a jóváhagyás vagy az elutasítás billentyűt. Az eredményeknek azUserType1
ügyfélben kell megjelennie.
A kvórum-jóváhagyási forgatókönyv futtatása
Nyisson meg egy parancssort rendszergazdai engedéllyel.
Keresse meg a megoldást tartalmazó könyvtárat.
Lépjen a ApprovalClient\Bin\Debug mappába, és hajtsa végre a ApprovalClient.exe három példányát.
Kattintson a Felfedezés gombra, várja meg, amíg a feliratkozás gomb engedélyezve van.
Írja be a felhasználónevet, és kattintson a feliratkozás gombra. Az egyik ügyfélhez,
UserType1
a másikhoz pedig két típushozUserType2
.Az ügyfélben
UserType1
válassza ki a kvórum jóváhagyási típusát a legördülő menüből, és írja be a dokumentum nevét és tartalmát. Kattintson a Jóváhagyás kérése gombra. Ez azt kéri, hogy a kétUserType2
ügyfél hagyja jóvá vagy utasítsa el a dokumentumot. Bár mindkétUserType2
ügyfélnek válaszolnia kell, csak egy ügyfélnek kell jóváhagynia a dokumentumot a jóváhagyáshoz.Az ügyfelekben
UserType2
megjelenik egy jóváhagyásra váró dokumentum. Jelölje ki, és nyomja le a jóváhagyás vagy az elutasítás billentyűt. Az eredményeknek azUserType1
ügyfélben kell megjelennie.
Az összetett jóváhagyási forgatókönyv futtatása
Nyisson meg egy parancssort rendszergazdai engedéllyel.
Keresse meg a megoldást tartalmazó könyvtárat.
Lépjen a ApprovalClient\Bin\Debug mappába, és hajtsa végre a ApprovalClient.exe négy példányát.
Kattintson a Felfedezés gombra, várja meg, amíg a feliratkozás gomb engedélyezve van.
Írja be a felhasználónevet, és kattintson a feliratkozás gombra. Egy ügyfél használata
UserType1
esetén két típusbanUserType2
és az utolsó használatbanUserType3
.Az ügyfélben
UserType1
válassza ki az egyetlen jóváhagyási típust a legördülő menüből, és írja be a dokumentum nevét és tartalmát. Kattintson a Jóváhagyás kérése gombra.Az ügyfelekben
UserType2
megjelenik egy jóváhagyásra váró dokumentum. Jelölje ki, és nyomja le a jóváhagyást, és a dokumentum át lesz adva azUserType3
ügyfélnek.Ha a dokumentumot az első
UserType2
kvórum hagyja jóvá, a dokumentum át lesz adva azUserType3
ügyfélnek.Hagyja jóvá vagy utasítsa el a dokumentumot az
UserType3
ügyféltől. Az eredményeknek azUserType1
ügyfélben kell megjelennie.
Tisztítás
- A Visual Studio parancssorából lépjen a DocumentApprovalProcess mappába, és futtassa a Cleanup.cmd.