Nintex Workflows: Eine alternative zu SharePoint Designer und Visual Studio

Workflows werden in Regel verwendet um Business Prozesse abzubilden. SharePoint stellt für Standard-Prozesse einige vordefinierte Workflows zur Verfügung, wie zum Beispiel für Dokumentenfreigabe oder -feedback. Sobald die wirklichen Prozesse allerdings davon abweichen, reicht dies nicht mehr aus. Für solche Fälle stellt Microsoft zwei Tools zur Verfügung:

  • Einfache Workflows, die nur an wenigen Stellen benötigt werden, können mit dem SharePoint Designer ohne Programmierung erstellt werden. Allerdings muss der Workflow auf jeder Liste bzw. Library einzeln erstellt werden (stimmt nicht für den Designer 2010).
  • Für komplexe oder oft verwendete Workflows steht Visual Studio zur Verfügung. Dies bedingt allerdings, dass ein Programmierer zur Verfügung steht. Je nach Anforderung wird das Erstellen von Visual Studio Workflows schnell sehr aufwendig und für Anpassungen müssen neue Deployments gemacht werden, sofern der Workflow nicht konfigurierbar programmiert wird.

Nintex hat ihr Produkt zwischen diesen beiden Ansätzen positioniert. Mit dem Produkt können selbst komplexe Workflows ohne Programmierung erstellt werden. Das Tool ist im Gegensatz zum SharePoint Designer direkt in SharePoint integriert. Es wird keine zusätzliche Software auf dem Client Rechner benötigt.

1936-NintexVSVisualStudio-thumb-500x334-1935.gif

Stärken und Schwächen der verschiedenen Tools

SharePoint Designer Workflows

Stärken:

  • Workflows können durch Benutzer mit entsprechender Berechtigung selbständig erstellt werden
  • Keine zusätzlichen Kosten

Schwächen:

  • SharePoint Designer muss beim Benutzer installiert werden
  • Keine State-Machine-Unterstützung (1)
  • Mangelnde Benutzerfreudlichkeit, komplex in der Bedienung
  • Workflows können nicht exportiert und nicht mehrfach verwendet werden

Nintex Workflows

Stärken:

  • Intuitive Benutzeroberfläche
  • Direkte Integration in SharePoint
  • Activities für viele Anforderungen stehen OOB zur Verfügung
  • State-Machine-Unterstützung
  • Visualisierte Workflow History
  • Reporting
  • Speichern und exportieren von Templates
  • Persönliche Snippets Bibliothek für wiederkehrende Actions-Abfolgen

Schwächen:

  • Bei Mehrfachverwendung muss der Workflow jeweils kopiert werden
  • Lizenzkosten
  • SQL Server Express wird nicht unterstützt

Visulal Studio Workflows

Stärken:

  • Grenzen setzt einzig die Windows Workflow Foundation (WF) von Microsoft.
  • Feature/DLL Deployment
  • Beliebig oft wiederverwendbar
  • Besseres Controlling, da nicht von Benutzern veränderbar

Schwächen:

  • Nur bedingt konfigurierbar durch die SharePoint Administratoren
  • Programmierkenntnisse erforderlich
  • Komplex und aufwendig in der Erstellung

Wann und warum soll welches Produkt eingesetzt werden?

SharePoint Designer Workflows sollten eingesetzt werden, wenn nur wenige, sehr einfache Prozesse abgebildet werden müssen, die nur auf wenigen Listen oder Libraries verwendet werden. Die Erfahrung zeigt, dass Workflows immer komplexer werden als zu Beginn angedacht.

Nintex Workflows 2007 sollte verwendet werden, wenn die Anforderung besteht, dass Workflows von Power Usern erstellt werden können müssen, die Prozesse komplex sind oder State Machine Funktionalität benötigen. Aufgrund der besseren Benutzerführung kann der Einsatz von Nintex auch Sinn machen, wenn viele einfache Prozesse abgebildet werden müssen.

Visual Studio Workflows werden eingesetzt, wenn die Prozesse sehr komplex sind und daher speziell ausprogrammiert werden müssen oder wenn ein Prozess SiteCollection übergreifend an vielen verschiedenen Stellen abgebildet werden muss. Dies kann bereits bei einfachen Prozessen zutreffen.

Nintex Workflows im Detail

Integration in SharePoint
Nintex Workflows sind als Erweiterung von SharePoint konzipiert und komplett integriert. Einstellungen wie Email-Settings, erlaubte Workflow Actions oder Konstanten können global in der Central Administration vorgenommen werden. Viele Einstellungen können in den Site Settings auf SiteCollection und Site Ebene überschrieben werden.

Genau wie SharePoint Designer Workflows, werden auch Nintex Workflows pro Liste bzw. Library erstellt. Allerdings wird kein eigenes Tool benötigt, um Workflows zu erstellen. Workflows können direkt über das Settings Menu der Liste/Library verwaltet werden.

1939-ListSettings-thumb-500x248-1938.gif

Safe Looping
Wenn Workflows durch autorisierte Benutzer erstellt werden können, besteht immer ein gewisses Risiko, dass Endlos-Loops erzeugt werden und diese den Server in die Knie zwingen. Nintex löst dies mit der Option “Enforce safe looping”. Wenn diese Option aktiv ist, wir nach jedem Durchgang eine Pause eingeschaltet. Die Länge der Pause ist abhängig von den Timer Job Einstellungen. In der Regel sind dies fünf Minuten. Dies gilt auch für Status-Wechsel in einem State-Machine Workflow.

Workflow Designer
Das Herzstück des Tools ist natürlich der Workflow Designer. Workflows können wahlweise auf Basis eines vorhandenen Templates oder “from scratch” erstellt werden. Das Tool enthält bereits Templates für verschiedene Standard-Prozesse, es können aber auch eigene Templates erstellt werden. Die Templates dienen als Grundlage und können den Anforderungen entsprechend angepasst werden.

Die breite Auswahl von Workflow Actions sollte in den meisten Fällen ausreichen, um den gewünschten Prozess abzubilden. Zur Auswahl stehen z.B. Approval, Benachrichtigung, diverse List- und Item-Manipulationen oder Active Directory Provisioning Funktionalitäten. Ausserdem gibt es Actions wie Loop und Switch, die den Verlauf des Workflows beeinflussen können. Falls doch einmal eine Funktionalität fehlt, steht eine SDK zur Verfügung, die es einem Programmierer erlaubt, eigene Workflow Actions zu erstellen.

1942-WorkflowBeispiel-thumb-500x356-1941.gif

Die Bedienung ist denkbar einfach. Actions können per “Drag and Drop” an die gewünschte Stelle gezogen oder über die rechte Maustaste direkt ausgewählt und eingefügt werden. Die Konfiguration erfolgt jeweils direkt auf der Action.

1945-WorkflowBeispiel2-thumb-500x355-1944.gif

Konfigurationsanpassungen an Workflow Actions können jederzeit gespeichert werden, auch wenn nicht alle benötigten Informationen vorhanden sind. Unvollständig konfigurierte Actions werden optisch durch ein Warn-Symbol gekennzeichnet. “OnMouseOver” wird ausserdem eine Warnung mit detaillierten Informationen angezeigt.

1948-ActionNichtKonfiguriert-thumb-500x233-1947.gif

Neben der funktionalen Konfiguration können auch die Labels der Actions angepasst werden. Dies erhöht die Lesbarkeit und ist insbesondere bei zukünftigen Anpassungen und einer möglichen Fehlersuche eine grosse Hilfe.

Templates und Snippets
Leider können auch Nintex Workflows nicht wiederverwendet werden. Stattdessen wird der Template Mechanismus angeboten. Ein fertiger Workflow kann als Template abgelegt und anschliessend innerhalb der SiteCollection als Vorlage verwendet werden. Ein grosser Nachteil dieser Methode ist allerdings, dass es sich dabei um Kopien des Workflows und nicht um echte Wiederverwendbarkeit handelt. Allfällige Änderungen müssen für jeden Workflow separat vorgenommen werden.

Snippets werden verwendet um immer wieder benötigte Abfolgen von Actions zu speichern. Die Snippets werden in der Toolbox auf der linken Seite unter “My Snippets” angezeigt. Sie sind im Gegensatz zu Templates persönlich und für andere Benutzer nicht sichtbar.

Workflow History
Ganz besonders beeindruckt bin ich von der Visualisierung der Workflow History. Dabei wird der Workflow im Designer Modus dargestellt. Die durchlaufenen Schritte und der hängige Task sind farblich hervorgehoben und zusätzlich mit den entsprechenden Workflow Informationen versehen. So ist z.B. sofort ersichtlich, wer einen Task freigegeben hat und auf wessen Input noch gewartet wird.

1951-WorkflowHistory1-thumb-500x351-1950.gif

Reporting
Im Tool enthalten ist auch ein recht ausführliches Reporting. Reports können wahlweise von allen Workflows oder einem bestimmten Workflow angeschaut werden.

1954-ReportCenter-thumb-500x262-1953.gif

Neben den Reports über die Workflows im allgemeinen stehen Statistiken zum Verhalten der Approver zur Verfügung, aus denen unter anderem ersichtlich ist, wie schnell ein Approver im Durchschnitt antwortet und ob dies jeweils innerhalb der Zeitlimite geschehen ist.

Insbesondere die Reports “Errored Workflows”, “Overdue Workflows” und “Workflows in Progress” halte ich für einen echten Mehrwert, da so schnell und einfach eine Übersicht gewonnen werden kann und Probleme frühzeitig erkannt werden.

Lazy Approval
Beim Lazy Approval handelt es sich um die Möglichkeit einen Approval Task via Email zu akzeptieren. Die dafür benötigten Keywords lassen sich frei definieren. Lazy Approval macht sicher nicht immer Sinn, kann aber eine durchaus interessante Option sein, wenn die fürs Approval benötigten Informationen per Email versendet werden können. Das Feature lässt sich granular ein- und ausschalten.

Ausblick
Vor einigen Wochen wurde SharePoint 2010 released. Die Benutzerfreundlichkeit der SharePoint Designer Workflows wurde insbesondere durch die Visio Integration klar verbessert. Ausserdem können nun auch SharePoint Designer Workflows exportiert werden. Leider steht auch in der 2010er Version keine State-Machine-Funktionalität zur Verfügung.

Die Veröffentlichung von Nintex Workflows 2010 erfolgt am 12. Juli 2010. Die angekündigten Features hören sich vielversprechend an. Besonders auf die Wiederverwendbarkeit der Workflows innerhalb der SiteCollection bin ich sehr gespannt, da dies eine der grössten noch bestehenden Schwachstellen des Produkts schliessen würde. Mehr Informationen zu Nintex Workflows 2010 finden Sie hier: http://www.nintex.com/en-US/Products/Pages/SPS2010Products.aspx

(1) State-Machine Workflows sind zustandsgesteuert. Der Workflow kann beliebig oft in den gleichen Zustand zurück kommen, bevor der Workflow abgeschlossen wird.

SharePoint Conference 2009 Las Vegas – SharePoint Designer

Die SharePoint Konferenz in Las Vegas ist eine riesige Veranstaltung. Es sind über 7400Leute, welche an dieser Konferenz teilnehmen und es gibt über 200 Sessions, welche in 4 Tagen gehalten werden. Da es bis zu 19 gleichzeitige Sessions gibt, können wir nur an je 16 Sessions dabei sein. Und deshalb heisst es: Fokus auf Themenbereiche!

Ein sehr aktuelles und wichtiges Thema ist der SharePoint Designer.
Dieses Produkt wird allgemein als DAS Tool für SharePoint Customizing bezeichnet und wird gratis zur Verfügung stehen. Bei den MOSS 2007 Projekten wurde der SharePoint Designer v.a. als Seiten und HTML/CSS Editor eingesetzt, da man bei grösseren MOSS Installationen mit diesem Tool kaum auf der produktiven Umgebung arbeiten durfte. Problematisch war auch das Unghosten von Seiten.

Jetzt mit der neuen Version wird der Fokus auf Erstellen und Verändern von SharePoint Inhalten (z.B. Listen, Workflows, Site Assets) gelegt und man kann sogar Administrationsaufgaben vornehmen. Dies verhindert noch nicht die beiden oben genannten Probleme.
Erfolgsversprechend ist die sehr gute Neuheit, dass die Möglichkeit besteht, die gemachten Änderungen als SharePoint Solution File (WSP) zu exportieren. Diese WSP Datei kann dann im Visual Studio importiert werden und die Dateien können weiter bearbeitet und finalisiert werden. Diese Funktion führt dazu, dass man den SharePoint Designer wohl häufig im Prototyping verwenden werden. Zusätzlich kann man die Entwicklungszeit einer Lösung verkürzen, indem man die Basis Funktionalität im SharePoint Designer erstellt und dann das WSP als Grundstein für die Visual Studio Arbeit verwendet.

Fazit:
Der SharePoint Designer wird also in der Entwicklung von SharePoint Lösungen eine wichtigere Rolle einnehmen als bisher, aber das Visual Studio wird das “richtige” Entwicklerwerkzeug bleiben.