Debugging von Nintex Workflows

Das Debuggen von Workflows ist immer wieder eine Herausforderung, insbesondere im Umfeld von SharePoint. Die hauseigenen Workflows, die man mit dem SharePoint-Designer erstellen kann, lassen Funktionen für das Debugging nahezu ganz vermissen. Man kann hier ausschließlich in den Workflow-Verlauf Nachrichten schreiben um nachvollziehen zu können, welchen Weg ein Workflow während der Ausführung gegangen ist. Das ist aus mehreren Gründen “problematisch”:

Man muss sehr viele Nachrichten in den Verlauf schreiben, typischerweise gibt man dort den Wert von Variablen aus und beschreibt den Fortschritt. Diese Workflow-Schritte haben keine funktionale Bedeutung für den eigentlichen Prozess, kosten aber dennoch “Zeit”. Zudem dienen diese Schritte ja auch nicht dem eigentlichen Workflow und “verstopfen” somit den eigentlichen Prozess.

Als Programmierer ist man das “mehr” gewohnt. Wenn man nachvollziehen will warum sich ein Programm auf die eine oder andere Art & Weise verhält, dann “debuggt” man das Programm einfach. Währenddessen kann man sich den Inhalt von Variablen ansehen und somit nachvollziehen welchen Weg ein Programm genommen hat.

Bei Nintex geht das ebenfalls. Neben der visuellen Darstellung des Workflows, der den durchlaufenen Pfad farblich kennzeichnet (grün) und die aktuell ausgeführte Aktion hervorhebt (gelb) gibt es das sogenannte Verbose Logging.

Workflow-Verlauf

Beim Verbose Logging werden bei jeder Aktion die Werte von allen Variablen und den wichtigsten Workflow-Daten zu beginn der Aktion und am Ende der Aktion aufgezeichnet. Wenn man sich anschließend den Ablauf des Workflows ansieht kann man mit einem Klick auf eine Aktion sich all dieser Vorher/Nachher Werte anzeigen lassen. Änderungen, die während der Aktion an Werte vorgenommen wurden werden dabei ebenfalls farblich hervorgehoben.

Verbose Logging

Dabei ist allerdings zu beachten, dass diese Transparenz im Workflow durchaus ihren Preis hat. Das Aufzeichnen dieser ganzen Werte kostet Zeit und all diese Werte müssen in der Nintex-Datenbank gespeichert werden. Laufen sehr viele Workflow-Instanzen parallel, dann kann die Größe der Datenbank auch durchaus schnell anwachsen.

Um das Verbose Logging zu nutzen muss das in den Workflow-Einstellung des jeweiligen Workflows aktiviert werden. Somit werden nicht automatisch für alle Workflows diese Daten gesammelt, sondern man kann das pro Workflow individuell aktivieren. Zudem muss die Funktion auch noch global in der Zentraladministration einmalig aktiviert werden, zusammen mit der Angabe, wie lange die detaillierten Informationen gespeichert werden sollen.

Workflow-Einstellungen

Einstellung zum Verbose-Logging in der Zentraladministration

Wenn bspw. bei einem Workflow das Verbose Logging aktiv ist um den Ablauf auf einem Testsystem genau nachzuverfolgen und dieser Workflow anschließend ohne Anpassung auf ein Produktivsystem transportiert wird, dann muss das nicht zwangsläufig zu Leistungseinbußen führen, wenn auf dem Produktivsystem in der Zentraladministration die Funktion für das Verbose Logging nicht aktiv ist.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.