Sie können dieses Tutorial auch auf Englisch und Französisch aufrufen.

 

In diesem Video sprechen wir über zwei der sogenannten Ressourcenmuster in YAWL. Das erste ist das Vier-Augen-Prinzip, das auch als Aufgabentrennung bekannt ist. Der andere heißt retain familiar. Beide Muster treten in der Praxis sehr häufig auf. Aus diesem Grund sind sie in YAWL implementiert. Die angehängte Zip-Datei enthält eine vollständige YAWL-Spezifikation, um mit einer ybkp-Datei mit den Benutzern und Rollen zu beginnen.

 

Hallo und willkommen zu einem weiteren YAWL-Tutorial! Heute habe ich das Buch über Workflow- Muster mitgebracht, und wir werden über das Vier-Augen-Prinzip und auch über das beibehaltene vertraute Muster sprechen. Und sie sind so etwas wie zwei Seiten derselben Medaille. Wenn wir uns also das Vier-Augen-Prinzip in dem Buch ansehen - es wird auch als Aufgabentrennung bezeichnet -, heißt es: "Die Fähigkeit, anzugeben, dass zwei Aufgaben in einem bestimmten Fall von unterschiedlichen Ressourcen ausgeführt werden müssen." Dieses Vier-Augen-Prinzip wird oft angewendet, wenn wir zum Beispiel Zahlungen haben. Sie möchten nicht, dass nur eine Person die Zahlung ausstellt, sondern Sie möchten diese Aktion von einer anderen Person steuern. Nun, das entgegengesetzte Muster davon heißt "Vertraut bleiben". Sie möchten also dieselbe Person haben, die beispielsweise eine Kaufanfrage zur Ausführung des Arbeitselements gestellt hat, bei der diese Person über den erfolgreichen oder erfolglosen Ausgang dieses Falls informiert wird. Beide Muster sind in YAWL integriert, und wir werden ein Beispiel für Tutorial 10 nehmen und es erweitern, um dies zu haben. Wir werden auch eine Reihe von Benutzern und Rollen verwenden, um zu demonstrieren, wie das funktioniert. Und wir beginnen mit der vollständigen Spezifikation, die Sie im ergänzenden Material finden. Okay! Wir haben die YAWL-Engine ausgeführt und den Editor mit der Spezifikation geöffnet, die wir bereits vorbereitet haben und die Sie aus dem Zusatzmaterial hochladen können. Sie sehen also, es gibt eine erste Aufgabe "Kaufanfrage vorbereiten". Dann gibt es eine komplexe Aufgabe "Bestellung" und dann, nachdem die Bestellung abgeschlossen ist, die Sendung und auch die Rechnung eingegangen sind und nachdem diese beiden abgeschlossen sind, können wir mit der Zahlung fortfahren. Die erste Einschränkung, die wir hier haben, besteht darin, dass derselbe Benutzer die Sendung erhalten soll, die die Kaufanfrage vorbereitet hat. Hier verwenden wir also das vertraute Muster. Wenn wir im YAWL-Editor "Sendung empfangen" auswählen, sehen wir, dass hier unter "Ressourcenbeschaffung" angezeigt wird. Wenn wir dies auswählen, wird hier das Häkchen "Vervollständiger der Aufgabe auswählen" angezeigt "und hier bezieht sich dies auf" Kaufanfrage vorbereiten ". Dies garantiert also, dass derselbe Benutzer dieses Arbeitselement hier öffnet, um die Sendung zu erhalten. Das nächste ist, dass " Zahlung vorbereiten " mit "Rechnung erhalten" identisch ist. "Rechnung erhalten" ist diese Aufgabe und " Zahlung vorbereiten" befindet sich hier in der Unteraufgabe " Zahlung". Und wenn wir "Zahlung vorbereiten" auswählen, sehen wir uns hier die Beschaffung an und sehen "Vervollständiger der Aufgabe auswählen" "Rechnung erhalten" und das Netz wird hier erwähnt, da dies Teil eines anderen Subnetzes ist. Und die dritte ist, dass "Zahlung ausführen" sich von "Zahlung vorbereiten" unterscheidet. Hier haben wir also "Zahlung vorbereiten" und hier haben wir "Zahlung ausführen". Und wenn wir uns "Zahlung ausführen" ansehen, können wir sehen, dass dies jemandem mit der Finanzrolle angeboten wird, aber wir möchten nicht den Abschluss der Aufgabe "Zahlung vorbereiten" auswählen. Nun wollen wir sehen, ob dies das tut, was es tun soll. Llets erster Blick auf unsere Organisationsstruktur. Die Organisationsstruktur finden Sie hier in dieser Excel-Tabelle. Sie können alle Benutzer mit ihren Benutzer-IDs sehen und sie haben alle dasselbe Kennwort und ihre Rollen. Dies kann aus dem Zusatzmaterial in das YAWL-System hochgeladen werden. Und was erwarten wir von den Einschränkungen, die wir haben? Als erstes möchten wir überprüfen, ob wir "Kaufanfrage vorbereiten" verwenden. Dann haben wir denselben Benutzer für "Sendung empfangen". Daher haben wir hier zwei Benutzer mit dem Rollenanforderer erstellt. Und so sollten wir in "Sendung empfangen" dasselbe sehen, dass wir zum ersten Mal verwenden. Die zweite Sache ist, dass "Rechnung erhalten" und "Zahlung vorbereiten" identisch sein sollten. Also, warum wir hier die Rolle Finanzen haben und wir haben zwei Benutzer mit der Rolle Finanzen hier. Und zu guter Letzt möchten wir nach dem Vier-Augen-Prinzip sicherstellen, dass einem Benutzer, der die Zahlung nicht vorbereitet hat, "Zahlung ausführen" angeboten wird. Wir laden die Spezifikation in die YAWL-Engine hoch und starten einen neuen Fall. Und ein neuer Fall wird mit Fall-ID 3 gestartet. Okay! Wir sehen uns die Administratorwarteschlangen an und schauen uns an, wer Arbeitselemente hat. Und die "Kaufanfrage vorbereiten", die die erste Aufgabe in unserer Spezifikation ist, wird jetzt zwei Benutzern angeboten, wie wir es erwartet hätten. Die beiden Benutzer haben wir hier in unserer Liste. Und lassen Sie uns jetzt den ersten hier auswählen. Der Benutzername lautet also ror. Wir melden uns an und sehen "Kaufanfrage vorbereiten", akzeptieren und starten. Anzeigen / Bearbeiten und wir vervollständigen diese Kaufanfrage. Als nächstes schauen wir uns den Administrator-Arbeitsvorrat an und sehen, was passiert ist. Jetzt haben wir also " Kauf genehmigen ", was Teil der Subnetzbestellung ist. Die erste Aufgabe im Subnetz und diese wird einem Benutzer zugewiesen, da wir nur einen Managerbenutzer mit dem Rollenmanager haben. Und hier melden wir uns einfach ab und verwenden diesen Manager-Benutzer: Akzeptieren, Starten und wir genehmigen dies. Gehen Sie zurück zur Admin-Warteschlange und sehen Sie, was passiert ist. "Bestellung vorbereiten" ist also die nächste Aufgabe und diese wird Peter Parker zugewiesen, und Peter Parker ist derjenige, der der einzige Benutzer vom Kauf ist. Wir müssen uns also als dieser Benutzer anmelden und können hier nur einige Werte eingeben und die Bestellung vorbereiten. Nun kehren wir zu "Sendung empfangen" und "Rechnung erhalten" zurück. Wir sollten also beide Arbeitselemente in unserer Liste sehen. Und "Sendung empfangen" ist einem Benutzer zugewiesen, und dies ist derjenige, den wir zuerst ausgewählt haben. Das ist also richtig. So ist es nicht sowohl zugewiesen, weil wir hier verwendet haben die Muster vertraut behalten. Also melden wir uns als ror an, die Annahme beginnt und wir geben eine Sendungsnummer ein. Und vervollständige dies. Und der andere ist "Rechnung erhalten". Dies wird zwei Benutzern zugewiesen, da wir zwei Benutzer in der Finanzabteilung haben. Und wir werden hier nur den ersten Benutzer Fred Flintstone verwenden. Eingabe und Rechnungsnummer und dann sind wir fertig. Nun sind diese beiden Aufgaben "Sendung empfangen" und "Rechnung erhalten" abgeschlossen und wir fahren mit dem Unterworkflow "Bezahlen" fort. Die erste Aufgabe lautet "Zahlung vorbereiten". Hier wird also "Zahlung vorbereiten" angeboten, da wir hier das bekannte Muster beibehalten haben. Und das ist das, was wir erwarten würden. Also erfrische ich mich hier. Ich bekomme diese Aufgabe und gebe eine Kontonummer ein und dann sind wir fertig. Und jetzt das nächste, weil wir das Vier-Augen-Prinzip angewendet haben. Wir würden erwarten, dass dies nicht derselbe Benutzer ist, und tatsächlich können wir sehen, dass dies Fleur Forsite zugewiesen ist. Also müssen wir uns abmelden und abschließen. Und dann ist der Fall beendet. Sie haben sich vielleicht gefragt, was passiert, wenn der Manager den Kauf nicht genehmigt. Wir haben hier keine Logik aufgenommen. Wir werden dieses Thema in einem späteren Tutorial behandeln, wenn wir das Konzept der Exlets vorstellen. Also bleibt gespannt!

Supplement_8_1.zip (10.88 KB)