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

 

Dies ist das erste von vier Tutorials zur Flexibilität in YAWL. Es gibt einen Überblick über den Worklet-Service, die Ausnahmebehandlung mit Exlets und Ripple-Down-Regeln (RDR).

 

Hallo und willkommen zu einem weiteren YAWL-Tutorial! Dies ist das erste einer Reihe von Tutorials zur Flexibilität in Workflows. Es gibt ein Sprichwort, das besagt, dass 95 Prozent der Diskussionen etwa fünf Prozent der Fälle in der Softwareentwicklung betreffen. Dies gilt auch für die Geschäftsprozessautomatisierung. Daher ist es wichtig, einerseits flexibel zu sein, aber nicht gezwungen zu sein, alles anzugeben, wenn Sie zum ersten Mal einen Workflow entwickeln. Es gibt zwei Arten von Flexibilität: In Workflows ist die erste eine Flexibilität zur Entwurfszeit. Wir haben bereits gesehen, dass wir durch die Trennung von Bedenken hinsichtlich der Trennung von Kontrollfluss, Ressourcen und Daten und einen grafischen Editor bereits ein gewisses Maß an Flexibilität in den Arbeitsabläufen erhalten. Darüber hinaus können Sie eine Spezifikation in einem laufenden System ändern und die alten Fälle, die bereits ausgeführt werden, mit der alten Spezifikation beenden und die neuen Fälle mit einer neuen Spezifikation beginnen. Wir haben also bereits ein gewisses Maß an Flexibilität. Was wir in diesem und den folgenden Tutorials diskutieren werden, ist eine erweiterte Flexibilität, bei der Sie auch die Möglichkeit haben, das Verhalten einer Workflow-Spezifikation zu erweitern, ohne die Spezifikation selbst zu ändern. Die zweite Art der Flexibilität besteht darin, etwas zu ändern, während ein Fall ausgeführt wird. Das ist also eher eine dynamische Flexibilität. Und auch hier werden wir einige Konzepte zu Worklets und Exlets in YAWL haben, die dies abdecken. Wie bereits erwähnt, können Sie beim ersten Entwurf einer Workflow-Spezifikation nicht an alle Möglichkeiten denken. In der ersten Kategorie der Flexibilität gibt es in YAWL Konzepte wie Worklets, die ein bestimmtes Verhalten festlegen, und Sie können diese Worklets mithilfe sogenannter Ripple-Down-Regeln aufrufen. Ripple-Down-Regeln sind Bäume, Binärbäume mit Bedingungen und Schlussfolgerungen, mit denen Sie das Verhalten einer Workflow-Spezifikation flexibel erweitern können, wenn Sie neue Sonderfälle finden. Diese werden auch als Eckpfeiler bezeichnet. Die andere Sache ist, dass wir das Problem haben, dass zum Beispiel Ausnahmen, wenn sie auftreten, oft bedeuten, dass Sie einen Fall beenden. Sie möchten jedoch etwas tun, bevor Sie einen Fall abnormal beenden. Wenn wir versuchen würden, diese mit gewöhnlichen Kontrollflussmitteln zu implementieren, würden viele Bögen von bestimmten Stellen bis zum Ende der Spezifikation verlaufen. Und dies würde am Ende zu einem Diagramm führen, das eher Spaghetti ähnelt und nicht mehr sehr klar ist. In diesem Fall haben wir also die Möglichkeit, Exlets zu verwenden und bestimmte Vor- oder Nachbedingungen in Aufgaben zu definieren und dann einen Fall mit einer bestimmten Ausnahmebehandlung zu beenden und diese zum Ende führenden Bögen nicht zu verwenden. In der zweiten Kategorie für dynamisches Verhalten können wir externe Trigger in YAWL definieren und das Verhalten eines laufenden Falls mithilfe dieser externen Trigger ändern, Worklets schreiben, die neues Verhalten definieren, und diese dem System hinzufügen. Und so erhalten wir ein Lern- Workflow-Management-System, das im Laufe der Zeit neue Ausnahmen enthält. Last but not least ist es möglich, das allgemeine Verhalten in Workflow-Spezifikationen mithilfe von Worklets zu berücksichtigen. Dies hat nicht direkt mit dem Thema Flexibilität zu tun, sondern ist eine andere Verwendung von Worklets. Wir haben bereits in früheren Videos gesehen, dass Sie komplexe Aufgaben mit darin enthaltenen Unterworkflows ausführen können. Das Problem dieser komplexen Aufgaben ist, dass sie auf eine Spezifikation beschränkt sind. Wenn wir an ein größeres System mit vielen Workflows rund um das gleiche Thema denken - sagen wir, wir brauchen die Möglichkeit, gemeinsames Verhalten in Unterworkflows herauszufiltern - und wir können dies nicht mit komplexen Aufgaben tun, da komplexe Aufgaben nur in einer Spezifikation und existieren Zu diesem Zweck können wir auch Worklets mit einer sehr einfachen Regel verwenden, die immer wahr ist. Und dann können wir dieselbe Workflow-Spezifikation aus verschiedenen übergeordneten Spezifikationen aufrufen. Okay, das ist alles für die theoretische Einführung. In den folgenden Tutorials werden wir uns mit den Themen befassen und sie im YAWL-System betrachten.