Über die Architektur

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 12 Minuten Lesedauer
  • Verstehe wie Workflow-Studio innerhalb ServiceNow AI Platform arbeitet, um Flows und Aktionen zu aktivieren, auszulösen und zu verarbeiten.

    Ein Flow besteht aus einem Auslöser und einer oder mehreren Aktionen. Der Auslöser gibt an, wann der Flow gestartet werden soll, der rekordbasiert , zeitplanbasiert oder anwendungsbasiert sein kann. Datensatzbasierte Auslöser führen einen Flow aus, nachdem ein Datensatz erstellt, aktualisiert oder gelöscht wurde. Der Flow kann den auslösenden Datensatz als Eingabe für Aktionen verwenden. Zeitplanbasierte Auslöser führen einen Flow zum angegebenen Datum und zur angegebenen Uhrzeit aus. Der Flow kann die Ausführungszeit als Eingabe für Aktionen verwenden. Auslöser für Anwendungen werden hinzugefügt, wenn die zugehörige Anwendung aktiviert wird. Der MetricBase Auslöser ist zum Beispiel vorhanden, wenn die MetricBase Anwendung aktiv ist.

    Flow-Verarbeitung

    Die Flow-Verarbeitung erfolgt in dieser Reihenfolge.
    1. Wenn die Flow-Auslöserbedingungen auftreten oder eine API den Flow direkt aufruft, erstellt das System einen Eintrag in der Ereigniswarteschlange, um den Flow zu starten.
    2. Der Scheduler verarbeitet das Ereignis und startet den Flow im Hintergrund.
    3. Das System erstellt aus dem Flow einen Prozessplan.
    4. Das System führt den Prozessplan mit dem Datensatz aus, der den Flow ausgelöst hat.
    5. Das System speichert die Ausführungsdetails in einem Kontextdatensatz.

    Flow-Diagramm

    1. Prozess-Flow-Auslöser und API-Aufrufe
    Jedes Mal, wenn Auslöserbedingungen erfüllt sind oder eine API einen Flow direkt aufruft, Workflow-Studio Erstellt einen Ereigniseintrag. Die Systemvorgänge löst Datenbankvorgänge aus. Weitere Informationen finden Sie unter Ausführungsreihenfolge von Skripts und Engines . Normalerweise Funktionsweise von Business-Regeln Und Arbeitsreihenfolge der Workflow-Engine Die synchron ausgeführt werden, bevor ein ausgelöster Flow ausgeführt wird.
    2. Ereignisse in der Warteschlange verarbeiten
    Jedes Flow-Ereignis enthält eine Referenz auf den zu startenden Flow und eine Referenz entweder auf den auslösenden Datensatz oder die Ausführungszeit. Das System verarbeitet diese Ereignisse mit Ereignisse Wo ein Planer regelmäßig die aktuellen Elemente in der Ereigniswarteschlange in der Reihenfolge durcharbeitet, in der sie hinzugefügt wurden. Abhängig von den anderen Ereignissen in der Warteschlange startet das System möglicherweise nicht sofort einen Flow. Flow-Designer sollten mit einer Verzögerungszeit zwischen dem Auftreten der Auslösebedingungen und dem tatsächlichen Beginn des Flows rechnen.
    3. Den Prozessplan erstellen

    Wenn Workflow-Studio ein Ereignis aus der Warteschlange geholt wird, erstellt es einen Prozessplan für die tatsächliche Durchführung des Flows. Ein Prozessplan enthält alle Informationen, die zum Ausführen eines Flows erforderlich sind, z. B. die Reihenfolge der veröffentlichten Aktionen oder Subflows, die Eingabewerte für jeden Subflow oder jede Aktion, die für jede Aktion auszuführenden Aktionsschritte und die vom Auslöser oder der Subflow-Ausgabe bereitgestellten Daten.

    Workflow-Studio verwendet ein Just-in-Time-Kompilierungsschema, um sicherzustellen, dass Prozesspläne die neuesten Änderungen an Flows, Teilaufgaben und Aktionen enthalten. Wenn keine Änderungen festgestellt werden, verwendet Workflow-Studio eine zwischengespeicherte Kopie des Prozessplans. Andernfalls wird ein neuer Prozessplan erstellt.

    Durch die automatische Suche nach aktualisierten Flows, Teilaufgaben und Aktionen mit Prozessplänen ermöglicht Workflow-Studio das Anwenden von Änderungen aus Aktualisierungssätzen und Upgrades, ohne die aktuellen Flows bearbeiten zu müssen. Wenn Sie veröffentlichte Aktionen in eine Zielinstanz verschieben, wird jeder Flow, der die veröffentlichte Aktion verwendet, bei der nächsten Ausführung automatisch aktualisiert.

    Warnung:
    Wenn Sie Subflows oder Aktionen ändern, die in aktivierten Flows verwendet werden, ändern Sie die im Subflow oder in der Aktion verwendeten Eingaben und Ausgaben nicht. Das Ändern von Ein- und Ausgängen kann zu Fehlern führen, wenn der aktivierte Flow das nächste Mal ausgelöst wird, da er nicht für die Verwendung der neuen Ein- und Ausgänge konfiguriert wurde. Alle derzeit ausgeführten Flows sind von Änderungen an Eingaben oder Ausgaben nicht betroffen, da der Flow die kompilierten Subflows und Aktionen aus dem Prozessplan verwendet.
    4. Den Prozessplan ausführen

    Workflow-Studio Führt den Prozessplan als den in den Flow-Eigenschaften angegebenen Anwender aus und führt ihn innerhalb des Flow-Anwendungsbereichs aus.

    Beim Ausführen eines Flows mit einem datensatzbasierten Auslöser speichert Workflow-Studio den auslösenden Datensatz als Beispiel, das in der Schnittstelle als eine Data-Pill dargestellt wird.

    Jedes Mal, wenn Sie einem Flow eine Aktion hinzufügen, fügt Flow Designer eine Datenpille hinzu, um die Ergebnisse zu speichern. Der Name der Daten-Pill gibt die Reihenfolge im Flow und den Datentyp an. Flow-Designer verwenden Daten-Pills für Aktionsergebnisse, um Eingaben für andere Flows, Aktionen oder Subflows bereitzustellen. Flow-Designer können den Sequenzwert im Namen der Data-Pill verwenden, um sicherzustellen, dass sie die richtige Data-Pill als Eingabewert auswählen. Wenn ein Flow eine Aktion ausführt, generiert er den Laufzeitwert der Datenpille, wie er verwendet wird.

    5. Flow-Ausführungsdetails speichern

    Workflow-Studio speichert die Flow-Ausführungsdetails in einer Flow-Kontextaufzeichnung, die diese Informationen enthält.

    • Flow-Ergebnisstatus
    • Laufzeit der Flow-Zeit
    • Flow-Protokollmeldungen
    • Flow-Konfigurations- und Laufzeitwerte
    Jedes Mal, wenn ein Flow läuft, fügt Workflow-Studio einen Eintrag zur Flow-Ausführungsliste hinzu. Jeder Eintrag verfügt über einen eigenen Kontextdatensatz und eine entsprechende Seite mit Ausführungsdetails.
    Hinweis:
    Ein Flow-Ausführungskontext wird in einem einzelnen Thread ausgeführt. Es kann jedoch vorkommen, dass Sie Flows in separaten Kontexten ausführen möchten, auch wenn dies möglicherweise mehr Ressourcen Ihrer Instanz verbrauchen. Informationen zum Ausführen von Subflows in separaten Flow-Kontexten innerhalb desselben Flows finden Sie unter Dynamische Flows .

    Ein Flow kann einen dieser Ergebnisstatus haben.

    Status Beschreibung
    Abgeschlossen Der Flow wurde erfolgreich abgeschlossen.
    In Bearbeitung Der Flow wird ausgeführt. Standardmäßig verhindert eine Quotenregel für Transaktionen, dass Flows länger als eine Stunde ausgeführt werden.
    Warten Der Flow wartet auf ein anderes Ereignis. Ein Benutzer muss beispielsweise eine Aufgabe oder Genehmigung aktualisieren oder ein Datensatz muss einen bestimmten Status erreichen. Im Wartezustand wird der Flow stillgelegt und in einen Kontextdatensatz serialisiert.
    Abgebrochen Der Flow wurde von einem Benutzer abgebrochen.
    Fehler Der Flow hat einen Fehler festgestellt und wurde nicht mehr ausgeführt. Beispielsweise fehlt einer Aktion ein Eingabewert oder eine Quotentregel für Transaktionen hat den Flow gestoppt.

    Flow, Subflow und Aktionslebenszyklus

    Workflow-Studio verwendet den Flow-Status oder Aktionsstatus, um den aktuellen Status von Konfigurationsänderungen zu beschreiben.

    Flow-Status und Subflow-Status und Aktivierungsstatus

    Das Feld Status gibt an, ob ein Prozessplan vorhanden ist, der mit dem Flow oder Subflow verbunden ist.

    Flow-Status Beschreibung
    Geändert Gibt an, dass nicht gespeicherte Änderungen an einem Flow oder Subflow vorhanden sind. Geänderte Flows oder Subflows wurden nicht gespeichert.
    Entwurf Gibt an, dass Änderungen an einem Flow oder Subflow gespeichert sind, die nicht in einem Prozessplan gespeichert wurden. Flows mit dem Status "Entwurf" wurden gespeichert, aber nicht aktiviert. Entwurfs-Subflows wurden gespeichert, aber nicht veröffentlicht.
    Veröffentlicht Gibt an, dass ein gespeicherter Prozessplan für den Flow oder Subflow vorhanden ist. Veröffentlichte Flows wurden entweder aktiviert oder deaktiviert.

    Das Feld Aktiv gibt an, ob das System einen Flow oder Subflow ausführt.

    Aktiv Beschreibung
    true Gibt an, dass der Flow oder Subflow aktiv ist und ausgeführt wird, wenn er ausgelöst oder aufgerufen wird. Der Flow wurde aktiviert, oder der Subflow wurde veröffentlicht. Aktive Flows werden ausgeführt, wenn die Auslösebedingungen erfüllt sind oder wenn sie aufgerufen werden. Aktive Subflows werden beim Aufruf ausgeführt.
    false Gibt an, dass der Flow inaktiv ist und nicht ausgeführt wird, wenn er ausgelöst oder aufgerufen wird. Ein inaktiver Flow wurde entweder nie aktiviert oder wurde deaktiviert. Ein inaktiver Subflow wurde nie veröffentlicht.
    Wenn Sie mit Flows arbeiten, können Sie:
    • Einen Flow speichern: Erstellt einen Entwurf des Flows.
    • Einen Flow aktivieren: Aktiviert den Flow-Auslöser und wandelt den Flow in einen Prozessplan um.
    • Einen Flow deaktivieren: Deaktiviert den Flow-Auslöser und verhindert neue Flow-Ausführungen. Derzeit laufende Flows laufen weiterhin.

    Bei der Arbeit mit Subflows können Sie:

    • Einen Subflow speichern: Erstellt einen Entwurf für einen Subflow. Wenn der Subflow nach der Veröffentlichung geändert wird, wechselt der Subflow in den Status "Entwurf". Alle aktiven Flows, die den Subflow verwenden, führen nur den veröffentlichten Subflow aus.
    • Einen Subflow veröffentlichen: Mit dieser Option können Sie einen Flow aktivieren, der den Subflow enthält. Bei der Veröffentlichung wird der Subflow der Liste der verfügbaren Subflows in einem Flow hinzugefügt.

    Flow-Lebenszyklusdiagramm
    Aktionsstatus

    Die Workflow-Studio Schnittstelle zeigt den Konfigurationsstatus der Aktionen nicht an. Um den Aktionsstatus anzuzeigen, navigieren Sie zur Tabelle Aktionstypen [sys_hub_action_type_definition] und zeigen Sie das Feld Entwurfszustand an.

    Aktionsentwurfsstatus Beschreibung
    Entwurf Gibt an, dass Änderungen an einer Aktion vorgenommen wurden, die nicht veröffentlicht wurden. Entwurfsaktionen sind nur für Flows verfügbar, wenn die Option Aktionsentwürfe anzeigen aktiviert ist. Sie können keinen Flow aktivieren, der Entwurfsaktionen enthält.
    Veröffentlicht Gibt an, dass die Aktion veröffentlicht wurde. Veröffentlichte Aktionen stehen allen Flows zur Verfügung und ermöglichen die Aktivierung von Flows.

    Bei der Arbeit mit Aktionen können Sie:

    • Eine Aktion speichern: Erstellt einen Entwurf der Aktion, der nur für Flows verfügbar ist, wenn die Option Aktionsentwürfe anzeigen aktiviert ist. Wenn die Aktion nach der Veröffentlichung geändert wird, wechselt die Aktion in den Entwurfsstatus. Alle aktiven Bewegungen, die die Aktion verwenden, führen nur die veröffentlichte Aktion aus.
    • Eine Aktion veröffentlichen: Ermöglicht die Aktivierung eines Flows, der die Aktion enthält. Durch das Veröffentlichen wird die Aktion der Liste der verfügbaren Aktionen in einem Flow hinzugefügt. Nur Aktionen in einem veröffentlichten Status werden während der Flow-Ausführung ausgeführt.

    Aktionslebenszyklus-Diagramm

    App-Entwicklung

    Verwenden Sie beim Entwerfen einer Aktion oder eines Flows diese allgemeinen Richtlinien.

    Verwenden Sie die StandardServiceNow AI Platform anwendungsentwicklungsfunktionen zum Erstellen, Verwalten, Schützen und Bereitstellen Workflow-Studio von Inhalt. Flow- und Aktionsdesigner führen normalerweise die folgenden Anwendungsentwicklungsaufgaben aus:
    • Erstellen Sie eine benutzerdefinierte Anwendung zum Speichern von Flows und Aktionen.
    • Legen Sie Anwendungsberechtigungen fest, um den Zugriff auf Anwendungsdaten freizugeben oder einzuschränken.
    • Gewähren Sie Anwendungsentwicklern Zugriff auf Workflow-Studio .
    • Veröffentlichen Sie benutzerdefinierte Anwendungen im Anwendungs-Repository, um Flows und Aktionen für andere Instanzen bereitzustellen.

    Kollisionsvermeidung

    Workflow-Studio Unterstützt Kollisionsvermeidung. Die Kollisionsvermeidung verhindert, dass ein Anwender ein Objekt ändert, das in einem anderen Update-Satz geändert wird. Beispielsweise bearbeitet Anwender A einen Flow in einem bestimmten Update-Satz. Anwender B, der in einem anderen Update-Satz arbeitet, versucht, denselben Flow zu öffnen. In dieser Situation erkennt das System eine Kollision und warnt Anwender B. Anwender B kann dann entweder wählen Abbrechen Oder Fahren Sie Fort . Auswählen Abbrechen Führt Anwender B zurück zu Workflow-Studio Homepage. Auswählen Fahren Sie Fort Öffnet den Flow im schreibgeschützten Modus.

    Damit die Kollisionsvermeidung funktioniert, müssen sich beide Anwender im selben Anwendungsbereich befinden, und es muss sich um einen anderen Anwendungsbereich als global handeln. Darüber hinaus muss die Anwendung, die geändert wird, mit der Quellcodeverwaltung verknüpft werden. Weitere Informationen finden Sie unter Kollisionsvermeidung .

    Sicherheit

    Kontrollieren Sie den Zugriff auf Workflow-Studio Prozesse und Aufzeichnungen.

    • Administratoren können Anwendern Zugriff auf gewähren Workflow-StudioFlows durch Erstellen einer Anwendung und Zuweisen von Anwendern als Entwickler mit Delegierte Entwicklung Berechtigung. Mit der delegierten Entwicklung können Administratoren steuern, ob Flow-Designer auf Funktionen zugreifen können, die normalerweise auf Administratorbenutzer beschränkt sind, z. B. das Zuweisen von Benutzerrollen, das Erstellen von Zugriffskontrollen oder das Erstellen von Skripts. Weitere Informationen finden Sie unter Entwicklerberechtigungen .
    • Administratoren können Zugriff auf gewähren Workflow-StudioFlows, indem Anwendern direkt die Anwenderrolle „Flow_Designer“ zugewiesen wird, die die Rolle zum Anzeigen von Flow-Ausführungsdetails enthält.
      Warnung:
      Einem Benutzer direkt die flow_designer-Rolle zuzuweisen, ist gleichbedeutend damit, dem Benutzer die Administratorrolle zu geben, weil Workflow-Studio als der Systembenutzer ausgeführt werden kann, der Zugriff auf alle Tabellen und alle Datenbankoperationen hat.
    • Flow- und Aktionsdesigner können Standard verwenden Einstellungen für Anwendungszugriff Um zu verwalten, wie ihre Inhalte mit anderen Anwendungen interagieren.

    Aktionslimit

    Standardmäßig können Abläufe nicht mehr als 50 Aktionen umfassen. Um das Standardverhalten zu ändern, erhöhen Sie den Wert der Systemeigenschaft sn_flow_designer.max_actions. Berücksichtigen Sie jedoch die Auswirkungen, die ein großer Ablauf auf die Leistung Ihrer Instanz haben kann.

    Optionen für das Auslösen von Datensatzaktualisierungen

    Flow-Designer können angeben, wie oft ein Flow einen bestimmten Datensatz mit der Option Auslöser ausführen aktualisieren kann. Verwenden Sie die Option Einmal, wenn ein Flow nur einmal ausgeführt werden soll. Wenn ein Datensatz zum ersten Mal aktualisiert wird, wird der Flow ausgeführt, aber weitere Datensatzaktualisierungen lösen den Flow nicht aus. Verwenden Sie die Option Immer, wenn der Datenfluss jedes Mal ausgeführt werden soll, wenn ein Datensatz aktualisiert wird und noch kein aktiver Datenfluss für ihn ausgeführt wird. Sie können beispielsweise einen Datenfluss festlegen, der einen Incident-Datensatz nur einmal ausführen soll, und einen Datenfluss festlegen, der die Ereignisliste darauf hinweist, immer ausgeführt zu werden. Das Feld Auslöser ausführen ist nur für diese Auslösertypen verfügbar.
    • Erstellt oder aktualisiert
    • Aktualisiert

    Direkte Rekursionsverhinderung und indirekte Rekursionsgrenze

    Um Instanzausfälle und den Verbrauch von Systemressourcen zu verhindern, Workflow-Studio Ignoriert jede Anforderung zum Starten eines Flows oder Subflows, die das Ergebnis einer direkten Rekursion ist. Unter diesen Bedingungen tritt eine direkte Rekursion auf.
    • Eine Aktion ruft den gleichen Flow auf, zu dem sie gehört. Ein Script-Schritt ruft zum Beispiel einen API-Aufruf für einen Flow auf.
    • Eine Aktion oder ein Subflow erzeugt ein Ergebnis, das dem Flow-Auslöser entspricht. Ein Flow, der beispielsweise ausgeführt wird, wenn ein Incident-Datensatz aktualisiert wird, enthält eine Aktualisierungsdatensatzaktion, die einen Incident-Datensatz aktualisiert.
    Workflow-Studio begrenzt auch die Anzahl an Flows, die von der indirekten Rekursion gestartet werden kann. Unter diesen Bedingungen tritt eine indirekte Rekursion auf.
    • Derselbe Flow wird in einer Kette von Subflow-Aufrufen mehrmals aufgerufen. Wenn Subflow A beispielsweise Subflow B aufruft und Subflow B Subflow A aufruft, führt der Aufruf eines Subflows zu einer indirekten Rekursion.
    • Derselbe Flow wird mehrmals in einer Kette von Subflows ausgelöst. Angenommen, es gibt zwei Flows, die durch die Datensatzerstellung ausgelöst werden. Angenommen, das Erstellen des Datensatzes A löst den Flow A aus und erstellt auch den Datensatz B. Darüber hinaus löst das Erstellen des Datensatzes B den Flow B und den Datensatz A aus. Das Erstellen eines der Datensatztypen führt zu einer indirekten Rekursion.

    Standardmäßig stoppt das System die Ausführung von Flow-Läufen, nachdem der Laufzähler die indirekte Rekursionsgrenze von drei Läufen erreicht hat. Administratoren können den Grenzwert ändern, indem sie die Systemeigenschaft festlegen com.glide.hub.flow_engine.indirect_recursion_limitAuf einen ganzzahligen Wert größer oder gleich 1. Das System ignoriert alle Eigenschaftswerte unter Eins und verwendet stattdessen ein Limit von Eins. Berücksichtigen Sie die Auswirkungen auf die Leistung, die eine Erhöhung des indirekten Rekursionslimits auf Ihre Instanz haben kann.

    Hinweis:
    Standardmäßig verhindert eine Quotenregel für Transaktionen, dass Flows länger als eine Stunde ausgeführt werden.

    Flow- und Aktionstests

    Beim Testen eines Flows werden die Auslösebedingungen umgangen und sofort ausgeführt. Zum Testen eines Flows mit einem datensatzbasierten Auslöser müssen Sie einen bestimmten Datensatz auswählen, der als Auslöser fungieren soll. Flow-Designer sollten vor dem Testen geeignete Beispieldatensätze erstellen. Weitere Informationen zum Testen eines Flows finden Sie unter Einen Ablauf testen.

    Während der Designphase können Sie unveröffentlichte Aktionen testen, indem Sie festlegen Entwurfsaktionen anzeigen Im Flow. Wenn Sie mit Entwurfsaktionen testen, verwenden Sie diese Richtlinien.

    • Entwerfen Sie Flows und Aktionen in einer Nicht-Produktionsinstanz. Stellen Sie nur aktive Arbeitsabläufe für Ihre Produktionsinstanz bereit.
    • Verlassen Entwurfsaktionen anzeigen Legen Sie den Wert auf „wahr“ fest, bis sich Ihre Entwurfsaktion im endgültigen Status befindet. Veröffentlichen Sie jede Aktion, sobald sie abgeschlossen ist, setzen Sie die Option Aktionsentwürfe anzeigen auf "Falsch" und aktivieren Sie den Flow.
      Warnung:
      Deaktivieren Sie die Option Aktionsentwürfe anzeigen bevor das Veröffentlichen Ihrer Aktionen, alle Entwurfsaktionen aus Ihrem Flow entfernt.
    • Jede Änderung, die Sie an einem aktiven Flow oder einer veröffentlichten Aktion vornehmen, führt dazu, dass er in den Entwurfszustand zurückkehrt. Wenn der Flow ausgelöst wird, führt das System nur den aktivierten Flow und die veröffentlichten Aktionen aus, und die Details zur Flow-Ausführung zeigen nur an, was ausgeführt wurde. Wenn ein Entwurf eines aktiven Flows vorhanden ist, können der Trigger und die in den Flow-Ausführungsdetails aufgeführten Aktionen von den im Entwurfs-Flow aufgeführten abweichen.