Installation Workflow Manager für SharePoint 2013

Die Verwendung vom Workflow Manager (WFMGR) ist wohl eine der größten Neuerungen in SharePoint 2013. Workflows spielen generell eine wichtige Rolle in SharePoint Umgebungen. Deshalb wurde die Engine für die Workflows von Microsoft grundlegend überarbeitet. Es besteht natürlich weiterhin die Möglichkeit, Workflows mit der bereits bekannten Engine aus SharePoint 2010 auch in SharePoint 2013 weiter zu nutzen. Der Workflow Manager ist als komplett eigenständiger Dienst konzipiert. Die zugrunde liegende Technik unterscheidet sich dabei grundlegend. Beim Workflow Manager wird als Basis die Windows Workflow Foundation aus dem .NET Framework 4.5 genutzt. Die bisherige Plattform basiert dagegen auf der Windows Workflow Foundation 3. Weiterhin ist die Nutzung vom Workflow Manager in Verbindung mit SharePoint 2013 Foundation nicht möglich.

Soviel zur Einführung in das Thema soll erst einmal genügen. In diesem Artikel möchte ich euch zeigen, wie man den Workflow Manager auf einem separaten Windows Server 2012 R2 installiert und für die Nutzung mit SharePoint 2013 konfiguriert. Generell kann man den Workflow Manager auch auf einem SharePoint 2013 Frontend Server installieren, allerdings empfehle ich immer einen separaten Server hierfür zu verwenden. Dies hat sich bzgl. Performance, Stabilität und Skalierung in der Vergangenheit immer sehr gut bewährt.

Beim Einsatz eines Windows Server 2012 R2 muss vor dem Beginn der eigentlichen Installation das .NET 3.5 Feature installiert werden. Das funktioniert ganz einfach über den Server-Manager. Zu beachten ist dabei nur, dass für die Installation ein alternativer Quellpfad angegeben wird.

Workflow Manager

Workflow Manager

Nachdem das .NET 3.5 Feature installiert wurde, kann mit der eigentlichen Installation vom Workflow Manager begonnen werden. Die Installationsdateien für den WFMGR besorgt man sich am einfachsten über den Web Platform Installer (WebPI). Der Web Platform Installer kann hier heruntergeladen werden. Für dieses Beispiel habe ich den WebPI 5.0 in der x64 Variante genutzt. Nachdem der WebPI installiert ist, kann man die notwendigen Dateien für die Installation vom Workflow Manager herunterladen (Offline-Installation). Sollte man den Workflow Manager öfters installieren, kann es sich durchaus lohnen, die heruntergeladenen Dateien wiederzuverwenden, anstatt immer wieder einen neuen Download durchzuführen. Der Download wird mit folgendem Befehl angestoßen:

webpicmd /offline /Products:WorkflowManagerRefresh /Path:C:\WorkflowManagerOfflineFiles

Wichtig ist dabei nur, dass das Produkt Workflow Manager Refresh genutzt wird, weil man dadurch gleich die momentan aktuellste Version vom Workflow Manager bekommt und ein aufwändiges Patchen entfällt.

Workflow Manager

Die Installation vom Workflow Manager wird dann über diesen Befehl gestartet:

webpicmd /Install /Products:WorkflowManagerRefresh /XML:C:\WorkflowManagerOfflineFiles\feeds\latest\webproductlist.xml

Nach der Installation wird dann automatisch von der Installationsroutine geprüft, ob alle notwendigen Komponenten erfolgreich installiert wurden.

Workflow Manager

Danach geht es an die eigentliche Konfiguration vom Workflow Manager.

Workflow Manager
Um eine möglichst optimale Konfiguration vornehmen zu können, wählt man den Punkt Configure Workflow Manager with Custom Settings. Als Erstes konfiguriert man die Datenbankeinstellungen für den Workflow Manager. Bei der SQL Server Instanz gibt man am Besten einen SQL-Alias (Stichwort: cliconfg.exe) an und nicht den Server direkt. Das vereinfacht später die genutzten Datenbanken in eine andere SQL Server Instanz zu verschieben.

Workflow Manager
Workflow Manager
Danach kommt man zur Konfiguration vom zugehörigen Dienstkonto. Wie eigentlich immer empfiehlt sich für den Workflow Manager ein separates Dienstkonto zu verwenden.

Workflow Manager

Weiterhin kann ein Zertifikat für die Kommunikation über HTTPS konfiguriert werden. Entweder nutzt man an dieser Stelle ein bereits vorhandenes Zertifikat (oder auch mehrere), oder lässt sich ein selbst-signiertes Zertifikat automatisch generieren.

Generell sollte man unverschlüsselte Kommunikation über HTTP nicht nutzen. Dies macht nur dann Sinn, wenn man sich in einer Entwicklungsumgebung oder Ähnlichem befindet. In diesem Artikel nutzten wir allerdings ausschließlich HTTPS, was auch mit nur geringem Aufwand in Entwicklungsumgebungen möglich ist. Deshalb aktivieren die Option HTTP explizit nicht.

Workflow Manager

Auf der nächsten Konfigurationsseite wird dann der zugehörige Service Bus konfiguriert. Auch hier werden zuerst die notwendigen Datenbanken konfiguriert. Auch hier gilt es wieder, einen SQL-Alias zu nutzen.

Workflow Manager

Das Spiel mit den Zertifikaten habe ich bereits bei der Konfiguration vom WFMGR beschrieben. Dies funktioniert beim Service Bus analog.

Workflow Manager

Bevor die Einstellungen auch vorgenommen werden, sieht man noch eine Übersicht über die gesamte Konfiguration.

Workflow Manager

Wenn wir alle Punkte wie bisher beschrieben auch ganz genau ausgeführt haben, sollte die Konfiguration erfolgreich ausgeführt werden.

Workflow Manager

Danach kann die Funktionalität vom Workflow Manager ganz einfach über einen Browser getestet werden. Beim Aufruf der URL https://<HostName>:12290 sollte folgende Seite angezeigt werden.

Workflow Manager

Dabei ist allerdings zu beachten, dass das Ergebnis nur angezeigt wird, wenn der aufrufende Benutzer auch in der Administratoren-Gruppe vom Workflow Manager ist. Standardmäßig sind das die Benutzer, die sich in der lokalen Administrator-Gruppe des Servers (wo der WFMGR installiert ist) befinden. Sollte die Benutzerkontensteuerung aktiviert sein, muss der Browser ggf. explizit als Administrator gestartet werden.

Jetzt möchte ich euch noch zeigen wie SharePoint mit dem Workflow Manager „verbunden“ werden muss. Wie bereits vorher geschrieben, nutzt diese Installation vom Workflow Manager ausschließlich HTTPS. Deshalb müssen wir zuerst das automatisch generierte Zertifikat vom Workflow Manager exportieren.

Workflow Manager

Wichtig beim Exportieren des Zertifikats ist, dass der private Schlüssel des Zertifikats nicht exportiert wird. Das Ergebnis ist eine .cer-Datei. Danach muss dieses Zertifikat dem SharePoint als vertrauenswürdig hinterlegt werden, nachdem es sich um ein selbst-signiertes Zertifikat handelt. Dies geschieht ganz einfach über die Zentraladministration des SharePoints.

Workflow Manager

Nachdem das Zertifikat nun als vertrauenswürdig für den SharePoint gilt, kann der Workflow Manager mit der SharePoint Farm „verbunden“ werden. Dies geschieht über die SharePoint Management Shell mit folgendem Befehl:

Register-SPWorkflowService -SPSite https://my-sharepoint -WorkflowHostUri https://workflow-manager:12290 -ScopeName SP1

Als Parameter SPSite kann man eine beliebig bestehende Seite im SharePoint angegeben werden. Es reicht aus, wenn man diesen Befehl einmal pro Webanwendung ausführt. Es ist nicht nötig, dies für jede Site Collection einzeln auszuführen. Der Parameter ScopeName ist sehr nützlich, wenn man mehrere SharePoint Farmen mit nur einem WFMGR nutzen möchte. Dies ist für den WFMGR kein Problem, allerdings muss jede Farm einen eindeutigen Scope Namen erhalten.

Weiterhin muss noch eine Konfiguration vorgenommen werden, sollte der SharePoint nicht über HTTPS erreichbar sein. Dies empfiehlt sich wieder nur, wenn es es sich dabei um kein produktives System handelt. Damit die Authentifizierung auch über HTTP klappt, müssen folgende Befehle ausgeführt werden:

$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOAuthOverHttp = $true
$config.AllowMetadataOverHttp = $true
$config.Update()

Danach ist der Workflow Manager bereit zum Einsatz.

Workflow Manager

In diesem Sinne, Happy SharePointing…

12 Kommentare

  1. Super-Anleitung! Vielen Dank!
    Nur läuft bei mir jetzt folgende Schleife ab: Der SharePoint Designer meldet, dass „Lokale Caches werden generiert. Lokale Caches werden aus den heruntergeladenen Metadaten erstellt. Danach: Serverseitige Aktivitäten werden aktualisiert. Sie müssen SharePoint Designer neu starten, damit sie die aktualisierte Version der Aktivitäten verwenden können.“ Nach dem entsprechenden Neustart laufen diese beiden Dialogboxen immer wieder ab. Großes ? Danke für eine Antwort!

  2. Hallo Frank,
    herzlichen Dank für diesen Blog.
    Ich habe alles so bearbeitet wie hier beschrieben, Workflow 2013 ist jetzt auch endlich vorhanden *freu*
    Allerdings: wenn ich ein Workflow erstelle und es veröffentlichen möchte, habe ich „Fehler beim Kompilieren“
    Im Event Viewer heißt es :
    An operation failed because the following certificate has validation errors:

    Subject Name: CN=xxx.xxxx.xxx
    Issuer Name: CN=xxx.xxxx.xxx
    Thumbprint: 123456789123456789123456789123456987456

    Errors:

    SSL policy errors have been encountered. Error code ‚0x2‘..

    Beim Zertifikat muss ich doch nichts weiter vornehmen??

    Vielen Dank und schöne Grüße
    An

    • Hallo An,
      klingt nach einem Problem mit dem Zertifikat. 🙂
      Das Zertifikat vom WFM wurde erfolgreich auf dem SharePoint hinterlegt? Ist das ein selbstsigniertes Zertifikat oder was für eines hast Du für die Konfiguration genutzt?

      Viele Grüße
      Frank

  3. Hallo Frank,
    danke für deine superschnelle Reaktion.
    1. Exportieren das vom Workflow Manager automatisch generierte Zertifikat ohne privaten Schlüssel auf C-Laufwerk war erfolgreich
    2. SharePoint Zentraladministration > Sicherheit > Vertrauensstellung verwalten > Neu > „Name“ und „Zertifikat der Stammzertifizierungsstelle“ ausgefüllt und „OK“ geklickt
    3. Arbeit am SharePoint Designer 2013 mit Erstellung eines Workflows
    4. Fehler bei der Kompilierung des Workflows
    System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden.. —> System.Security.Authentication.AuthenticationException: Das Remotezertifikat ist laut Validierungsverfahren ungültig.
    bei System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)
    bei System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)
    — Ende der internen Ausnahmestapelüberwachung —
    bei Microsoft.

    Habe ich einen Schritt zwischen 1. und 2. vergessen?
    Zitat: Danach muss dieses Zertifikat dem SharePoint als vertrauenswürdig hinterlegt werden, nachdem es sich um ein selbst-signiertes Zertifikat handelt
    selbst-signiertes Zertifikat??? Muss ich das automatisch generierte Zertifikat noch selbst-signieren???
    Also, WFM generiert ja insgesamt 4 Zertifikate, so wie auch in der Abbildung von dir. Exportiert habe ich dann den von dir gelb gekennzeichnetes Zertifikat (also der bei mir auch so ist). Das Thumbprint in der Fehlermeldung kann ich auch diesem Zertifikat zuordnen. Dem SharePoint übergebe ich nur dieses eine Zertifikat?

    Viele Dank und schöne Grüße
    An

    • Hallo An,

      dass automatisch generierte Zertifikat ist selbst-signiert, da musst Du nichts weiter machen.
      Ansonsten sieht Deine Beschreibung auch gut aus.
      Versuch doch mal bitte das exportierte WFM Zertifikat auf dem SharePoint in den Windows Zertifikatspeicher abzulegen. Einfach das kopierte Zertifikat doppelklicken und dann als Speicher die Vertrauenswürdigen Stammzertifizierungsstellen auswählen.

      Viele Grüße
      Frank

  4. Hallo Frank,

    leider ist dies auch ohne Erfolg gescheitert.
    Liegt es daran, dass ich einen SingleFarmServer habe? Da ich noch in der Testphase von SharePoint Server 2016 bin habe ich alles, samt WFM auf einen Server installiert.
    Nach dieser Anleitung bin ich vorgegangen http://social.technet.microsoft.com/wiki/contents/articles/34451.sharepoint-2016-step-by-step-guide-to-add-workflow-manager-certificate-into-sharepoint-trust.aspx
    natürlich ergänzend zu deiner Anleitung.
    Ich sitze schon einige Zeit an diesem Issue und bin recht am Zweifeln….
    Hast du noch eine Idee für mich oder Sites, die ich mir eineignen kann?
    Viele Grüße
    An

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert