Workflow-Architektur in SharePoint Server 2013: gestern und heute

    SharePoint-Workflows bieten durch strukturierte, automatisierte Workflows, einschließlich interaktiver Benutzerinteraktionen, bei Bedarf effizienten Speicherplatz. Sie bieten die Implementierung von Benachrichtigungsmechanismen, das Versenden von Benachrichtigungen per E-Mail oder andere Aktivitäten, die für die Mitarbeiter von Bedeutung sind.

    Die Hauptobjekte von Arbeitsprozessen sind Elemente von Listen, SharePoint-Bibliotheken, Inhaltstypen und Websites, da fast alle Geschäftsprozesse irgendwann den Zugriff auf den Inhalt, das Extrahieren und Verarbeiten von Daten darüber sowie das Treffen von Entscheidungen über weitere Aktionen innerhalb des Prozesses umfassen basierend auf den Verarbeitungsergebnissen.

    Die SharePoint-Plattform bietet Benutzern und Programmierern eine Vielzahl von Workflow-Entwicklungstools sowie Dienste und Protokolle für die Interaktion zwischen Komponenten, die umfassende Unterstützung für den gesamten Lebenszyklus von Workflows bieten.

    Im Folgenden werden die Architektur der SharePoint 2013-Workflowplattform, ihre Unterschiede und Vorteile im Vergleich zu SharePoint 2010 beschrieben und ein Überblick über alle Hauptkomponenten und die Beziehungen zwischen ihnen gegeben.

    SharePoint 2010 Workflow Platform


    In SharePoint 2010 basieren Workflows auf der Windows Workflow Foundation 3.5 (WF) -Plattform, die Programmierinfrastruktur sowie Tools für die Anwendungsentwicklung und -ausführung bereitstellt.
    Tatsächlich enthält SharePoint 2010 eine Workflow-Laufzeit und bietet eine eigene private Implementierung seiner Dienste. Daher sind Workflows eng in die SharePoint 2010-Umgebung integriert und können nicht darüber hinaus verschoben werden.


    Abbildung 1. WF-Workflowarchitektur in SharePoint 2010

    Die Workflowlaufzeit wird während der Installation der Farm automatisch in SharePoint 2010 integriert, und alle zugehörigen Komponenten werden in der SharePoint-Inhaltsdatenbank auf SQL Server gespeichert. SharePoint 2010-Workflows sind in allen Editionen von SharePoint - SharePoint Foundation 2010, SharePoint Server 2010 - zugänglich und funktionieren gleichermaßen.


    Abbildung 2. Das Schema zum Speichern von Workflowdaten in SharePoint 2010

    Die SharePoint 2010- Workflowarchitektur weist mehrere erhebliche Nachteile auf:
    • Die Unfähigkeit, die Last zu skalieren und Fehlertoleranz-Verwaltungsmechanismen unabhängig von den Servern in der SharePoint-Farm zu verwenden.
    • Konzentrieren Sie sich auf die Implementierung in Unternehmensarbeitsumgebungen und die stark eingeschränkte Verwendung in Cloud-Umgebungen.

    SharePoint 2013 Workflow Platform


    Die SharePoint 2013-Workflowplattform verwendet den Workflow Manager , der auf WF 4.0-Workflows basiert. WF ist wiederum Bestandteil von .NET Framework 4.5.
    Workflow Manager ist ein leistungsstarker neuer Dienst, der von vielen verschiedenen Anwendungen, einschließlich SharePoint Server 2013, verwendet werden kann. Eine der Hauptideen für die Entwicklung einer neuen Plattform besteht darin, Benutzern von SharePoint Server 2013 umfassende Workflow-Funktionen bereitzustellen, ohne an die Plattform selbst gebunden zu sein. . Dieser Ansatz bot die Möglichkeit, die Probleme der Produktivität, Ausfallsicherheit und Skalierbarkeit von SharePoint Server 2013 und des Workflow-Managers unabhängig voneinander zu lösen.


    Abbildung 3. Allgemeine Architektur der SharePoint 2013-Workflowplattform

    SharePoint 2013 verwendet den Dispatcher, der nur für die Unterstützung von Workflowmodellen und die Implementierung der Aktionslogik zuständig ist. Grundlegend für die neue Architektur ist die Übertragung von Prozessen auf die Dispatcherseite, sodass diese außerhalb der SharePoint 2013-Farm verschoben werden können und die Serverressourcen vollständig unabhängig genutzt werden können.

    Wichtig ist, dass der Workflow-Manager ein völlig unabhängiges Softwareprodukt ist, das heruntergeladen, installiert und konfiguriert werden muss und anschließend mit der SharePoint-Farm verbunden wird.

    Für die Interaktion mit dem Workflow-Manager verwendet SharePoint Server 2013 eine dedizierte Anwendungsprogrammschnittstelle (Application Program Interface, API). Alle dazu notwendigen Komponenten sind im entsprechenden Client (Eng. Workflow Manager Client ) enthalten. In diesem Fall werden alle Anrufe über den Servicebus (engl. Service Bus) realisiert.

    Die SharePoint 2013-Workflowplattform basiert auf einem cloudbasierten Anwendungsmodell. In diesem Fall kann der Workflow-Manager auf einem separaten Server in der internen Netzwerkinfrastruktur von Unternehmen ( lokal ) installiert und als Dienst in Windows Azure bereitgestellt werden.

    Beachten Sie, dass Unternehmen in der Praxis häufig einen Workflow-Manager und einen Service-Bus für Windows Server auf SharePoint-Servern in ihrer internen Netzwerkinfrastruktur bereitstellen.

    Der zweite wichtige Punkt ist, dass die Konfiguration von SharePoint 2013-Workflows nur in Server-Editionen verfügbar ist , d. H. in SharePoint Server 2013 Standard und SharePoint Server 2013 Enterprise.


    Abbildung 4. Architektur der Workflowplattform in der internen Netzwerkinfrastruktur des Unternehmens


    Abbildung 5. Architektur der Workflowplattform in Windows Azure Wir

    listen die wichtigsten Vorteile der neuen Workflowarchitektur auf:
    1. Multi-Server-Hosting. Es bietet eine hohe Effizienz und Ausführungsgeschwindigkeit von Workflow-Instanzen bei gleichzeitig einfacher Verwaltung. Zu den Vorteilen zählen ein höheres Sicherheitsniveau, flexible Skalierbarkeit und Lastausgleich zwischen Remote-Workflow-Manager-Servern.
    2. Skalierung. Durch die Verwaltung der Entwicklung von Arbeitsprozessen, die Implementierung der Geschäftslogik und die Bildung ihrer Instanzen auf der Seite der SharePoint Server 2013-Farm innerhalb der Netzwerkinfrastruktur des Unternehmens können Sie den Einsatz von Farmserverressourcen konstant halten und gleichzeitig die für die direkte Ausführung von Arbeitsprozessen erforderlichen Ressourcen nach Bedarf zuweisen. Wenn Sie einen Workflow-Manager in Windows Azure platzieren, können Sie Ressourcen hinzufügen und entfernen, wenn die Arbeitsablaufverarbeitungslast zunimmt oder abnimmt, und nur für die Ressourcen zahlen, die derzeit benötigt werden.
    3. Erweiterte Diagnose- und Überwachungstools. Neue Funktionen zum Überwachen und Diagnostizieren laufender Workflow-Instanzen verwenden die REST-API und den Workflow-Manager-Client. Systemadministratoren erhalten spezielle Tools, während Clients Daten zum Status und Status laufender Arbeitsprozesse anzeigen und ihre Konfigurationseinstellungen flexibel verwalten können.
    4. Vollständig deklarative Workflow-Entwicklung. Dieses neue Konzept wurde erstmals auf der SharePoint-Plattform verwendet. Das wichtigste Entwicklungstool für Benutzer von SharePoint Server 2013 sind SharePoint Designer 2013, MS Visio 2013 und MS InfoPath 2013. Entwicklern von Visual Studio 2012/2013 werden eine Reihe von speziellen Projektvorlagen und leistungsstarken Tools zum Entwickeln von Workflowaktionen vorgestellt. In MS Visual Studio entwickelte Workflow-Aktionen sind für die spätere Verwendung in SharePoint Designer 2013 vorgesehen.
    5. Implementierung in Form von Webservices. SharePoint Server 2013-Workflowaktionen werden über lose verbundene Webdienste aufgerufen, die die Programmierschnittstelle für die Interaktion mit SharePoint verwenden. Es basiert auf den Windows Communication Foundation (WCF) -Messagingfunktionen und der Verwendung von REST-Anforderungen. Die Unterstützung der Laufzeitumgebung sowie eingehende und ausgehende Nachrichten koordinieren alle Phasen des Workflows und gewährleisten so Integrität und Zuverlässigkeit.

    Die Komponenten der SharePoint 2013-Workflowarchitektur werden nachstehend ausführlicher erläutert.

    Komponenten der SharePoint 2013-Workflowplattform


    Windows Workflow Foundation in SharePoint Server 2013


    Ein gemeinsames Merkmal der
    Windows Workflow Foundation (WF) ist die Microsoft-Technologie, die den Workflow-Lebenszyklus unterstützt: Definition, Entwicklung, Ausführung und Verwaltung. (Englischer Workflow). WF bietet eine Programmierinfrastruktur sowie Entwicklungs- und Ausführungstools für Workflow-basierte Anwendungen.


    Abbildung 6. Windows Workflow Foundation-Architektur

    Tabelle 1. Schlüsselkomponenten der Windows Workflow Foundation-Architektur
    KomponenteBeschreibung
    Host-ProzessEine Anwendung, die die Laufzeit des WF-Workflows enthält. Der Hostprozess bietet Unterstützung für Laufzeitdienste.
    AktionEine Arbeitseinheit oder ein separater Schritt in einem Geschäftsprozess.
    ArbeitsprozessDie Abfolge von Aktionen, die zum Implementieren eines Geschäftsprozesses verwendet werden.
    Basic Action LibraryEine Reihe von Workflow-Aktionsvorlagen, die in der Entwicklung verwendet werden und Teil von WF sind.
    Zusätzliche AktionenVon Programmierern entwickelte Workflow-Aktionen.
    LaufzeitWorkflow-Instanzen werden von der Laufzeit ausgeführt. Es steuert auch die Änderung des Status von Arbeitsprozessen und die Interaktion zwischen ihnen.
    DesignerUI-Tools für die Entwicklung. Visual Studio enthält einen spezialisierten WF-Designer
    LaufzeitdiensteDienste, die Hosting und Interaktion zwischen Workflowkomponenten bereitstellen

    Workflows WF - eine strukturierte Sammlung von „Aktion“ (Engl . Aktivitäten ), von denen jeder der funktionellen Komponente des Geschäftsprozesses.


    Abbildung 7. Ein Beispiel für das Workflow-Entwickler-Dashboard für SharePoint 2013 in MS Visual Studio 2013

    Die SharePoint Server 2013-Plattform bietet zusätzliche Entwicklungstools, die die Standard-WF-Funktionen erheblich erweitern:
    • Ein Webbrowser wie Internet Explorer, Firefox oder Chrome stellt ein Tool für die Interaktion mit SharePoint Server 2013-Websites dar. Sie können beispielsweise Listen und Bibliotheken erstellen, ihnen Elemente hinzufügen, ihnen einen Workflow zuordnen und ihn für ein separates Element starten Zustand prüfen.
    • MS Visio 2013 zum Erstellen von Schaltkreisen mit Formen und Anschlüssen. Sie können damit Workflows auf Basis der SharePoint 2013-Plattform erstellen und anschließend die Prozesse von MS Visio 2013 nach SharePoint Designer 2013 und umgekehrt importieren.
    • MS InfoPath 2013 ist ein Tool zum Entwickeln von Formularen. Mit ihm können Sie die Formulare anpassen, die Benutzer für die Interaktion mit dem Workflow benötigen.
    • SharePoint Designer 2013 ist das primäre Mittel, mit dem Geschäftsbenutzer Workflowdefinitionen erstellen und veröffentlichen, wie in früheren Versionen. Es wird auch verwendet, um eine Workflow-Definition mit oder ohne zugehörige SharePoint-Komponenten (wie Listen, Bibliotheken, Inhaltstypen, Websites) zu packen. Sie können benutzerdefinierte Workflowaktionen in Visual Studio erstellen und in SharePoint Designer 2013 importieren, wo sie im Workflow-Designer verfügbar sind.
    • Entwicklungstools für Visual Studio- Aktionen zur Verwendung durch SharePoint Designer 2013.



    Abbildung 8. Beispiele für Workflowaktionen in SharePoint Designer


    Abbildung 9. Fragment eines Workflows in SharePoint Designer

    Beachten Sie die Beziehung zwischen den WF-Workflowaktionen und den SharePoint Server 2013-Aktionen, die in SharePoint Designer 2013 (SPD 2013) ausgewählt werden können. WF-Workflowaktionen stellen grundlegende verwaltete Objekte dar, deren Methoden das Verhalten eines Workflows bestimmen.

    Workflow-Aktionen in SPD 2013 ist ein Wrapper, der die grundlegenden WF-Aktionen kapselt und in einer verständlichen 2013 SPD-Form darstellt.

    Workflow-Ersteller interagieren während der Entwicklung in SPD 2013 mit Workflow-Aktionen, während das Workflow-Ausführungsmodul auf den entsprechenden WF-Aktionen basiert.

    Arten von Workflows
    WF bietet zwei Arten von Workflows:
    1. Konsistente Arbeitsabläufe.
    2. Workflow einer Zustandsmaschine.

    Sequentielle Workflows folgen einem bestimmten Pfad. Es kann Entscheidungszweige und Schleifen enthalten oder keinen Endpunkt haben, aber ein vorhersagbarer Pfad kann während der Entwicklung leicht verfolgt werden.

    Beispiele für sequenzielle Workflows in einer SharePoint Server 2013-Umgebung:
    • Wenn Sie der SharePoint-Bibliothek ein Dokument hinzufügen, fügt der Workflow die neue Aufgabe der SharePoint-Aufgabenliste hinzu.
    • Beim Bearbeiten einer Aufgabe überprüft der Workflow die Eigenschaften der Aufgabe, um festzustellen, ob sie abgeschlossen ist. Wenn die Ausführung abgeschlossen ist, endet auch der Workflow.



    Abbildung 10. Ein Beispiel für einen sequentiellen WF-Workflow in MS Visual Studio

    Ein State Machine-Workflow besteht aus einer Reihe von Zuständen, Übergängen und Aktionen. Aktionen werden asynchron ausgeführt, was bedeutet, dass sie nicht unbedingt in einer strengen Reihenfolge angeordnet sind und stattdessen durch andere Aktionen und Zustände aktiviert werden können. Ein Zustand wird als der ursprüngliche Zustand festgelegt, und dann (wenn ein bestimmtes Ereignis eintritt) tritt ein Übergang zu einem anderen auf.

    Die Statusmaschine kann in einen Status versetzt werden, der den Abschluss des Workflows festlegt.


    Abbildung 11. Beispiel für einen WF SharePoint Server 2013- Statusmaschinenworkflow


    SharePoint Server 2013 bietet eine Workflowplattform, die Geschäftsprozesse modelliert, die mit Dokumenten, Listen, Inhaltstypen, Benutzern, Aufgaben und SharePoint-Websites verknüpft sind. Darüber hinaus Workflows, Vergleich, Aktion und andere Metadaten gespeichert und kontrolliert in Sharepoint 2013

    Client Manager - Workflows
    Client Manager - Workflows (engl. Workflow - Manager - Client ) verwaltet Workflow - Definition. Dies ist eine eigenständige Softwarekomponente, die nach der Installation auf dem System über den Service-Bus mit SharePoint unter Verwendung der allgemeinen Protokolle der Messaging-Infrastruktur interagiert.

    Workflow Services-Anwendungsproxy
    Der Workflow Manager-Client wird in SharePoint 2013 als Workflow Service-Anwendungsproxy eingeführt . Diese Komponente ermöglicht SharePoint die Kommunikation mit dem Workflow Manager-Server. Die Interserver-Authentifizierung wird mit OAuth durchgeführt.

    Workflow-Service-Manager
    Alle neuen Funktionen von SharePoint 2013-Workflows werden im SharePoint-Objektmodell über den Workflow-Service-Manager implementiert, der Bereitstellungs-, Instanz-, Interaktions- und Messaging-Dienste umfasst.

    Bereitstellungsdienst Der Bereitstellungsdienst
    bietet Funktionen zum Veröffentlichen von Workflows und zum Herstellen von Verknüpfungen zwischen diesen und SharePoint-Objekten.

    Instanzdienst Der Instanzdienst
    wird verwendet, um auf Instanzen von Workflows zuzugreifen, um Informationen zu diesen zu erhalten und diese zu verwalten. Beispielsweise kann ein Benutzer einen Workflow abbrechen.

    Interaktionsdienst Der Interaktionsdienst
    wird zum Abrufen und Ausführen von Instanzen der klassischen SharePoint 2010-Workflows verwendet, unterstützt jedoch zwei Szenarien:
    1. Ihre Organisation verfügt über ältere SharePoint 2010-Workflows, die in einer SharePoint 2013-Umgebung unterstützt werden müssen.
    2. Es wurde ein SharePoint 2013-Workflow entwickelt, in dem Sie sicherstellen müssen, dass nur in SharePoint 2010 verfügbare Aktionen ausgeführt werden.


    In beiden Szenarien werden die Workflows selbst und die einzelnen SharePoint 2010-Aktivitäten in der SharePoint 2013-Umgebung vom Collaboration-Dienst ordnungsgemäß verwaltet, um den Abstimmungsprozess zwischen den beiden Umgebungen zu unterstützen.

    SharePoint Designer 2013 bietet Zugriff auf eine neue Aktion: Starten eines SharePoint 2010-Workflows Aus Sicht von WF handelt es sich um eine Folge von Nachrichtenversand zwischen dem Manager und dem SharePoint 2010-Workflow-Host, der auf der SharePoint 2013-Plattform ausgeführt wird.
    1. Der Business Process Manager startet den Workflow (1). Die entsprechende Nachricht wird an den Workflow Services Manager (2) gesendet.
    2. Workflow Services Manager startet den Workflow innerhalb des SharePoint 2010-Workflowhosts.
    3. Das Ereignis des Abschlusses eines SharePoint 2010-Workflows oder unmittelbar nach dessen Start (abhängig von den Eigenschaften des Workflows) bewirkt, dass eine entsprechende Nachricht an den Workflow-Manager gesendet wird (3).
    4. Über den Ereignis-Publisher (4) werden Informationen zum Abschluss des SharePoint 2010-Workflows an den Workflow-Manager (5) übergeben.
    5. In der folgenden Abbildung wird eine allgemeine Übersicht über die Interaktion zwischen den Komponenten der SharePoint 2013-Workflowplattform dargestellt.



    Abbildung 12. Allgemeines Diagramm der Interaktion zwischen Komponenten einer Workflowplattform beim Ausführen von SharePoint 2010-Workflows


    Abbildung 13. Aktion zum Starten eines SharePoint-Workflows in SharePoint Designer 2013


    Abbildung 14. Einstellungen zum Starten eines SharePoint 2010-Workflows in SharePoint Designer 2013-

    Messagingdienst
    Informationen zu Ereignissen im Zusammenhang mit SharePoint-Objekte werden über den Messaging-Dienst an den Workflow-Manager weitergeleitet. Wenn SharePoint ein Ereignis an einen Workflow sendet, wird es in der Service-Bus-Datenbank gespeichert und dann an den Workflow-Manager übermittelt. Er ist dafür verantwortlich, Informationen über den jeweiligen Status zu speichern und diese Informationen mit den in der Service-Bus-Datenbank gespeicherten Nachrichten zu synchronisieren.

    Der Messaging-Dienst verwendet Veröffentlichungs- / Abonnementfunktionen, mit denen viele Workprozesse dasselbe Ereignis abonnieren können. Beispielsweise warten 10 Workflows auf Datenänderungen in einem SharePoint-Listenelement. In diesem Fall sendet SharePoint nur eine Nachricht an den Service-Bus und ist für die Übermittlung dieser Nachricht an alle 10 abonnierten Workprozesse verantwortlich. Im klassischen SharePoint 2010-Workflowmodell muss die SharePoint-Plattform alle 10 Ereignisse verarbeiten, was zu einer zusätzlichen Arbeitsbelastung auf den Farmservern führt.

    Workflow Manager und Service Bus
    Ereignisse von SharePoint Server 2013, die sich auf die Ausführung eines Workflows beziehen, z. B. das Erstellen eines Listen- / Bibliothekselements, das Aktualisieren eines Listen- / Bibliothekselements, werden über den Dienstbus an den Workflow-Manager-Server gesendet. Workflow Manager verwendet die SharePoint-REST-API, um einen SharePoint-Rückruf aufzurufen.

    Unten ist ein Beispiel der Bildmuster der Wechselwirkung zwischen dem Workflow - Manager und dem Service - Bus während der Ausführung der Workflow einfache Sharepoint 2013.


    Abbildung 15. Die High-Level - Workflow - Modell Sharepoint Server 2013 Zuweisen Aufgaben Benutzer


    Abbildung 16. Die High-Level - Modell Sharepoint Server 2013 Workflow Aufgabenausführung der Benutzer und Speichern der Ergebnisse

    Autor - Lyubov Volkova

    Jetzt auch beliebt: