Freigeben über


Prozessarchitektur

Das Prozessmanagementsystem in Dynamics 365 Customer Engagement (on-premises) umfasst die Dynamics 365 Customer Engagement Webdienste, Plug-Ins, Formulare und andere Komponenten.

Prozessarchitekturdiagramm

Das folgende Diagramm zeigt die hochrangige Systemarchitektur Dynamics 365 Customer Engagement (on-premises) und hebt Teile des Systems hervor, die für die Prozesse spezifisch sind.

Prozessarchitektur.

Dieses Diagramm zeigt die Prozessarchitektur von Dynamics 365 Customer Engagement (on-premises), einschließlich der internen Komponenten, der externen Komponenten der Infrastruktur und der Daten.

Interne Komponenten. Für interne Komponenten, die das Prozessprogrammiermodell Dynamics 365 Customer Engagement (on-premises) unterstützen, umfassen Webdienste, freigegebene Plattform und Geschäftslogik. Die freigegebene Plattform besteht aus Dynamics 365 Customer Engagement (on-premises)-Komponenten, die Registrierung, Metadatencache und Datenzugriffsdienste bereitstellen. Geschäftslogik beinhaltet die Implementierung der Geschäftslogik für Dynamics 365 Customer Engagement (on-premises)-Geschäftsentitäten.

Externe Komponenten. Es gibt folgende externen Komponenten:

  • Windows Workflow Foundation Objektmodell, das eine Reihe von Klassen festlegt, die zum Erstellen und Parsen von Workflow-Prozessdefinitionen im XAML-Format verwendet werden.

  • Windows Workflow Foundation Ausführung, die eine Reihe von Klassen enthält, die zur Ausführung von Workflow-Prozessen verwendet werden.

Prozessinfrastruktur. Die Dynamics 365 Customer Engagement (on-premises)-Prozessinfrastruktur besteht aus den folgenden Komponenten:

  • Process Entity Model, das eine Reihe von Klassen enthält, die das Objektmodell der Windows Workflow Foundation verwenden und Dynamics 365 Customer Engagement (on-premises) Workflow-Aktivitäten darstellen.

  • Prozessgeschäftslogik, die Geschäftslogik für prozessspezifische Entitäten implementiert.

  • Prozessausführung, die Workflowausführungsdienstleistungen bereitstellt, wie z. B: Workflowhosting und Persistenz.

Prozessdaten. Das Dynamics 365 Customer Engagement (on-premises)-Prozessprogrammiermodell wird von folgenden Daten unterstützt:

  • Geschäftsdaten, die Informationen enthalten, die Dynamics 365 Customer Engagement (on-premises)- Entitäten zugeordnet sind.

  • Prozesskonfigurationsdaten, die Workflow-Prozessdefinitionen, kompilierte Workflowprozesse und Workflowprozesseinstellungen umfassen.

  • Prozessablaufdaten, die benötigt werden, um Workflowprozesse auszuführen und Workflowprozessfunktionen wie Persistenz und Benachrichtigungen zu implementieren.

Prozess und das einheitliche Ereignismodell

Dynamics 365 Customer Engagement (on-premises) verwendet ein einheitliches Ereignismodell, das bei beiden Plug-Ins (Legenden) und bei Prozessen verwendet wird. Dieses Ereignisprozess-Subsystem fügt der Ausführung von Prozessen und Plug-Ins , mehr Flexibilität hinzu, indem das Pipelineausführungsmodell eingeführt wird.

Mithilfe dieses Modells werden Prozesse und Plug-Ins anhand ihrer Registrierung, ihres Nachrichtentyps und einem vordefinierten Satz konfigurierbarer Parameter ausgeführt. Die Kernplattformvorgänge haben Anteil an der Ausführungssequenz, um ein zuverlässigeres und erweiterbareres Ausführungsmodell zu bilden.

Prozesslebenszyklus

Der Lebenszyklus eines Prozesses beschreibt die Statusübergänge von der Erstellung bis zur Ausführung. Ein Prozess kann einen der folgenden Status annehmen: Betriebsbereit, Angehalten, Gesperrt und Ausgeführt. Folgende Ereignisse, die während der Prozesslebenszeit auftreten verursachen einen Wechsel von einem Status zu einem anderen.

Workflows

Der Workflowlebenszyklus ist wie folgt:

  1. Beim Erstellen eines Workflows ist dieser im Entwurfszustand. Sie müssen einen Workflow aktivieren, bevor er ausgeführt werden kann. Wenn Sie einen Workflow aktivieren abonniert er bestimmte Dynamics 365 Customer Engagement (on-premises)- Ereignisse. Wenn diese Ereignisse in der Plattform ausgelöst werden, wird eine Momentaufnahme der Workflowabhängigkeiten und Eingabeparameter erstellt und dem Warteschlangen-Manager für asynchrone Dienste wird ein neuer asynchroner Vorgang hinzugefügt. Der asynchrone Vorgang stellt einen Workflowausführungsauftrag dar und erwartet die Ausführung in der Warteschlange im Status "Bereit".

  2. Wenn der asynchrone Vorgang verarbeitet wird, wird eine Workflow-Instanz, die mit diesem Vorgang verbunden ist, von der Windows Workflow Foundation Laufzeit-Engine erstellt und ihr Status wird von Bereit auf Gesperrt geändert.

  3. Der asynchrone Vorgang wird bei jedem Wechsel mit dem Workflowinstanzstatusstatus aktualisiert. Wenn der asynchrone Vorgang blockiert ist, versetzt die Windows Workflow Foundation Laufzeit-Engine die Workflow-Instanz in den Status „Angehalten“ und entfernt sie aus dem Speicher. Wenn die Zustände für den Status Angehalten erfüllt sind, wird die Workflowinstanz wieder in den Arbeitsspeicher geladen.

  4. Die Workflowausführung wird fortgesetzt, indem die Workflowinstanz den Status Bereit und dann den Status Gesperrt erhält. Im einfachen Szenario wechselt die Workflowinstanz in den Status "Abgeschlossen", wenn alle Workflowaktivitäten erfolgreich abgeschlossen wurden.

Der Status der asynchronen Vorgänge kann vom Benutzer auch geändert werden. Beispielsweise kann ein asynchroner Vorgang im Status "Angehalten" vom Benutzer explizit neu neu gestartet werden.

Dialoge

EIn Dialoglebenszyklus ist folgendes:

  1. Beim Erstellen eines Dialogs ist dieser im Entwurfszustand. Sie müssen einen Dialog aktivieren, bevor er ausgeführt werden kann. Ein Dialog kann vom primären Entitätsformular und Raster oder direkt mithilfe der URL eines Dialogs ausgeführt werden. Weitere Informationen finden Sie unter Starten eines Dialogs, indem Sie eine URL verwenden.

  2. Jedes mal, wenn ein Dialog ausgeführt wird, wird für den Dialog eine Prozesssitzungsinstanz erstellt. So wie die Ausführung des Dialogs voranschreitet, wird die Prozesssitzungsentität mit den Aktionen aktualisiert, die bei der Ausführung des Dialogs ausgeführt werden.

  3. Wenn Sie die Ausführung des Dialogs erfolgreich abschlossen haben, wird der entsprechende Prozesssitzungsdatensatz mit dem Status "Abgeschlossen" erstellt. Wenn Sie die den Dialog abgebrochen haben, ohne ihn abzuschließen, wird der entsprechende Prozesssitzungsdatensatz mit dem Status "Unvollständig" erstellt.

Prozess und der asynchrone Dienst: Nur bei Workflows

Der asynchrone Dienst ermöglicht Ihnen, verschiedene zeitaufwändige Vorgänge auszuführen, zu überwachen und zu verwalten; z. B. Massenimport, Massensendungen, und Workflowprozesse. Zum Verbessern der Leistung, Skalierbarkeit und Zuverlässigkeit von Dynamics 365 Customer Engagement (on-premises) werden diese Vorgänge asynchron ausgeführt. Das bedeutet, dass ein angeforderter Vorgang nicht sofort verarbeitet, sondern einer Warteschlange hinzugefügt und von Dynamics 365 Customer Engagement (on-premises) an einem entsprechenden Zeitpunkt verarbeitet wird.

Wenn in der Dynamics 365 Customer Engagement (on-premises)-Plattformpipeline ein Ereignis ausgelöst wird, werden alle Workflows, die diesem Ereignis zugewiesen sind, vom asynchronen Dienst ausgeführt. Die Workflowereignishandler werden der asynchronen Warteschlange hinzugefügt und entsprechend der Ereignisreihenfolge ausgeführt.

Notiz

Wenn ein asynchroner Systemauftrag (Workflow) mehrmals hintereinander fehlschlägt, beginnt Customer Engagement damit, die Ausführung dieses Auftrags für immer längere Zeit zu verschieben, um dem Customer Engagement-Administrator zu erlauben, das Problem zu untersuchen und zu beheben. Sobald der Job anfängt, wieder erfolgreich zu sein, wird er wieder normal durchgeführt.

Prozesspersistenz und Herunterfahren: Nur bei Workflows

Ein Workflow kann ein zeitaufwändiger Geschäftsvorgang sein, dessen Abschluss möglicherweise Stunden, Wochen oder Monate dauern kann. Er kann tatsächlich lange Zeit im Leerlauf sein und auf Eingaben von Benutzern oder anderen Systemen warten.

Verwenden Sie zum Verbessern der Leistung, Skalierbarkeit und Zuverlässigkeit Verwendung von Dynamics 365 Customer Engagement (on-premises), zeitaufwendigen Vorgängen, wie Workflows, den asynchronen Dienst.

Der asynchrone Dienst kann als Host der Windows Workflow Foundation Runtime Engine nicht immer alle Objekte zwischenspeichern und aktiv halten, die sich während einer fortlaufenden Workflow-Aktivität ansammeln. Wenn bestimmte Bedingungen, wie ein Neustart oder das Herunterfahren, bei ausgeführtem Workflow auftreten, verwendet das Workflowlaufzeitmodul einen Persistenzdienst, um den Status der Workflowinstanz auf dem Datenträger zu speichern. Der Persistenzdienst wird auch aufgerufen, wenn andere Bedingungen auftreten, z. B. wenn sich ein Workflow im Leerlauf befindet und ein externes Ereignis erwartet. Diese Workflowinstanzen im Leerlauf bestehen zu lassen spart Arbeitsspeicher und erhöht die Skalierbarkeit deutlich. Wenn ein Server, auf dem der asynchrone Dienst ausgeführt wird, abgeschaltet oder direkt wird oder wenn der Workflow bei Ausführung abstürzt, kann der Workflow vom letzten beibehaltenen Punkt aus neu gestartet werden, sobald der Server neu gestartet wird. Wenn sich der Workflow nicht mehr im Leerlauf befindet, wird der Status der Workflowinstanz im Arbeitsspeicher wieder zu dem Status am letzten beibehaltenen Punkt wiederhergestellt.

Weitere Informationen: Workflow Persistenz.

Siehe auch

Asynchroner Dienst
Ereignisframework
Prozesse in Dynamics 365 Customer Engagement (on-premises)