Arbeitsabläufe erstellen

In Avantra werden Workflows als eine Sammlung von Steps definiert, die diese Schritte verbinden, um mehrere Aufgaben zu automatisieren. Ein Workflow kann auch andere Workflows enthalten, um noch größere Workflows zu erstellen und zuvor erstellte Workflows wiederzuverwenden.

Workflows können auch geplant oder durch Benachrichtigungen oder extern über unsere API ausgelöst werden. Siehe Running Workflows.

Workflow-Konzepte

Ein Workflow besteht aus den folgenden Komponenten:

  • Definition

    Diese Einstellungen steuern die Sichtbarkeit und Berechtigungen, die für die Ausführung dieses Workflows erforderlich sind, und erleichtern es, verwandte Workflows zusammenzufassen.

  • Eingaben

    Ein Workflow kann mit Parametern gestartet werden, die es dem Benutzer ermöglichen, die auszuführende Logik anzupassen, z. B. unterschiedliche Anmeldeinformationen zu verwenden oder das System auszuwählen, auf dem der Workflow ausgeführt werden soll.

  • Typen

    Verschiedene Arten von Workflows können eine eingebaute Aufgabe von Avantra ersetzen oder ihre vorkonfigurierten Aktionen vor oder nach einer Aufgabe ausführen. Die Standardauswahl umfasst Start/Stop/Restart verschiedener Systeme wie SAP-Systeme, Datenbanken, SAP-Instanzen usw.

  • Schritte

    Dies sind die Aufgaben, die der Workflow ausführt. Entweder unsere integrierten Schritte, Schritte aus der JavaScript-Schrittbibliothek oder andere Workflows können hier miteinander verbunden werden.

  • Ausgaben

    Wenn dieser Workflow ein Ergebnis berechnet und in anderen Workflows verwendet werden kann, können diese Ausgaben hier definiert werden.

  • Varianten

    Wenn der Workflow Eingabeparameter hat, können diese Werte für die zukünftige Verwendung gespeichert werden, um die Ausführung von Workflows zu erleichtern. Siehe Variants.

  • Zeitpläne

    Ein Workflow kann zu festgelegten Zeiten automatisch ausgeführt werden, indem ein oder mehrere Zeitpläne erstellt werden. Siehe Schedules.

  • Ausführungen

    Wenn ein Workflow gestartet wird, werden hier die Ausführungsergebnisse angezeigt. Außerdem können Benutzer mit einem laufenden Workflow interagieren, z. B. um einen manuellen Schritt zu bestätigen oder einen Fehler zu beheben. Siehe Monitoring Workflows.

Procedure: Einen neuen Workflow erstellen
  1. Wählen Sie Menü:Automation[Workflows].

  2. Klicken Sie auf die Schaltfläche Neu.

  3. Füllen Sie die erforderlichen Felder Name mit dem Namen des Workflows und Namespace aus, der verwendet wird, um verwandte Workflows und Schritte zusammenzuhalten.

  4. Optional können Sie einen Wert aus dem Dropdown-Menü Customer auswählen. Die Auswahl eines Kunden beeinflusst die Sichtbarkeit eines Workflows und die Berechtigungen, die für dessen Ausführung erforderlich sind.

  5. Klicken Sie auf die Schaltfläche Erstellen.

Die Workflow-Details werden jetzt geöffnet.

Schritte konfigurieren

Zuerst gehen wir den Prozess durch, wie man einen Schritt zu einem Workflow hinzufügt. Danach zeigen wir das Verfahren zum Erstellen von Workflows-Eingaben.

Procedure: Einen neuen Schritt hinzufügen
  1. Wählen Sie Menü:Automation[Workflows].

  2. Doppelklicken Sie auf den Workflow, dem Sie einen Schritt hinzufügen möchten.

  3. Wechseln Sie zum Tab Schritte.

  4. Ohne vorhandene Schritte ausgewählt zu haben, werden neue Schritte am Ende hinzugefügt. Optional können Sie einen vorhandenen Schritt auswählen, um die Anfangsposition des neuen Schritts zu bestimmen.

  5. Drücken Sie die Schaltfläche + (neuen Workflow-Schritt hinzufügen) in der Symbolleiste, um das Dialogfeld Workflow-Schritt hinzufügen zu öffnen.

  6. Wählen Sie einen integrierten Schritt, einen Schritt aus der Schrittbibliothek oder einen vorhandenen Workflow aus dem Dialogfeld.

  7. Das Feld Name wird standardmäßig mit dem Schrittname ausgefüllt, Sie sollten es jedoch ändern, um den Zweck des Schrittes im Workflow widerzuspiegeln.

  8. Klicken Sie auf die Schaltfläche OK, um den Schritt dem Workflow hinzuzufügen.

  9. Das Fenster zur Konfiguration des Schritts wird jetzt angezeigt, um Parameter dem Schritt zuzuweisen.

Wir werden als nächstes Parameter erklären. Workflow-Schritte sind miteinander verkettet, sodass die Schritte die Arbeit oder Berechnungen vorheriger Schritte nutzen können. Auf diese Weise können Schritte in verschiedenen Kombinationen wiederverwendet werden, um unterschiedliche Aufgaben zu erledigen.

Eingabeparameter eines Schrittes können entweder:

  • Auf einen Konstanten Wert gesetzt werden

    Nützlich, wenn ein wiederverwendbarer Schritt in einem bestimmten Workflow verwendet wird, der immer nur einen bestimmten Wert für den Eingabeparameter benötigt. Beispielsweise beim Neustarten eines SAP-Systems ist dies immer das Timeout, das verwendet werden soll.

  • Auf eine Workflow-Eingabe gesetzt werden

    Verwendet, wenn wir möchten, dass der Workflow generisch ist und es dem Benutzer oder dem übergeordneten Workflow ermöglicht, die Option für diesen Eingabeparameter auszuwählen, da dies der Hauptzweck des Workflows ist. Beispielsweise ein Workflow, der die Menge des einem virtuellen Rechner zugewiesenen Speichers ändert – die Menge könnte eine Workflow-Eingabe sein.

  • Auf eine Schrittausgabe gesetzt werden

    Verwendet, wenn wir zuvor eine Berechnung oder einen eingebauten Schritt haben, der die Antwort für diesen Schritt in seiner Verarbeitung liefert. Beispielsweise durch die Verwendung des integrierten Schrittes zum Senden einer Datei und anschließendem Ausführen dieser Datei.

Procedure: Einen Schritt-Parameter konfigurieren
  1. Wählen Sie Menü:Automation[Workflows].

  2. Doppelklicken Sie auf den Workflow, den Sie ändern möchten.

  3. Wechseln Sie zum Tab Schritte.

  4. Doppelklicken Sie auf den Schritt.

  5. Für jeden Eingabeparameter wählen Sie entweder Konstanter Wert, Workflow-Eingabe oder Schrittausgabe aus.

    • Bei Konstanter Wert geben Sie den Wert in das angezeigte Textfeld ein

    • Bei Workflow-Eingabe wählen Sie eine erstellte Eingabe aus dem Dropdown-Menü aus

    • Bei Schrittausgabe wählen Sie einen vorherigen Schritt aus dem Dropdown-Menü aus und dann eine seiner Ausgaben

  6. Klicken Sie auf die Schaltfläche Anwenden, um diese Änderungen zu speichern und das Fenster zu schließen.

Definieren von Eingaben und Ausgaben

Import und Export

Um Workflows zwischen Systemen zu teilen, können die Schaltflächen Export und Import verwendet werden.

Export

Wählen Sie alle Workflows aus, die in den Export einbezogen werden sollen, und klicken Sie auf Export. Geben Sie einen Dateinamen an und wählen Sie aus, ob Unterworkflows, Step Library Schritte und/oder Varianten einbezogen werden sollen, und klicken Sie auf Export. Danach wird die Exportdatei erstellt und heruntergeladen.

Dateiformat

Der Export erstellt eine Zip-Datei mit der folgenden Ordnerstruktur.

steps
  / <namespace>
    / <step_name>.js
    / <step_name>.json
variants
  / <namespace>
    / <workflow_name>
      / <variant_name>.json
workflows
  / <namespace>
    / <workflow_name>.json

Jeder exportierte Schritt besteht aus zwei Dateien. Eine enthält die Metadaten (.json) und die andere den JavaScript-Code (.js).

Es ist möglich, Namen und Namespaces zu ändern und sie vor dem Import wieder in eine Zip-Datei zu verpacken, um sie zu ändern.

Import

Um den Import-Assistenten zu starten, klicken Sie auf Import. Wenn ein Workflow aus Unterworkflows und Schritten besteht und diese in der Datei enthalten sind, können sie im Import-Assistenten ausgewählt werden. Wenn Schritte oder Unterworkflows nicht importiert werden, müssen Schritte oder Workflows mit den entsprechenden Namen im System vorhanden sein.

Schleifen in Workflows

Die Unterworkflows können als Schleifenschritt zu einem Workflow hinzugefügt werden.

Um einen Unterworkflow als Schleife hinzuzufügen, befolgen Sie die folgenden Schritte:

  1. Wählen Sie im Abschnitt Eigenschaften des Hauptworkflows den Unterabschnitt Eingaben und klicken Sie auf Bearbeiten (rot umrandet), um den Eingabeworkflow-Parameter/die Parameter hinzuzufügen/zu bearbeiten.

    Neuen Eingabeparameter hinzufügen
  2. Klicken Sie im erscheinenden Fenster auf Neue Zeile hinzufügen. Geben Sie den Namen und den Typ des neuen Parameters an und wählen Sie den Standardwert aus dem Dropdown-Menü aus. Klicken Sie auf Übernehmen, um die Änderungen zu speichern.

    Neuen Parameter konfigurieren
  3. Wählen Sie im Abschnitt Eigenschaften des Hauptworkflows den Unterabschnitt Schritte und klicken Sie auf Neuen Workflow-Schritt hinzufügen. Wählen Sie im erscheinenden Fenster das Namespace in den Kategorien der Workflow-Schritte aus, dann wählen Sie den Workflow (WF) und aktivieren das Kontrollkästchen In einer Schleife ausführen (rot umrandet). Klicken Sie auf OK, um die Änderungen zu speichern.

    Workflow-Schritt hinzufügen
  4. Im nächsten Fenster legen Sie das Schleifen-Element-Set, den Ausführungsmodus und die Aktion fest, die bei einem Fehler ausgeführt werden soll. Klicken Sie auf Übernehmen, um die Änderungen zu speichern.

    Das Schleifen-Element-Set ist der Systemselektor für den Schleifen-Set-Eingang, der die Systeme enthält, für die die Schleifen ausgeführt werden sollen. Der Unterworkflow wird für jedes System in diesem Systemselektor ausgeführt.

    Workflow-Schritt konfigurieren

    HINWEIS: Es gibt zwei Ausführungsmodi für Unterworkflows: sequenziell und parallel. Im sequenziellen Modus startet die nächste Iteration, wenn die vorherige abgeschlossen ist. Im parallelen Modus werden alle Iterationen gleichzeitig parallel gestartet.

  5. Klicken Sie im Abschnitt Eigenschaften des Hauptworkflows auf Übernehmen.

    Änderungen am Workflow übernehmen

Das Ergebnis des Schleifenschritts enthält eine Ausgabe namens "results", die eine JSON-Datei mit den Ausführungsdetails jeder Schleifeniteration des Unterworkflows enthält, ähnlich dem folgenden Beispiel:

[
  {
    "result": "EXECUTED",
    "inputs": {
      "sys": "server1 (5601, Server)"
    },
    "outputs": {}
  },
  {
    "result": "EXECUTED",
    "inputs": {
      "sys": "server2 (5602, Server)"
    },
    "outputs": {}
  },
  {
    "result": "EXECUTED",
    "inputs": {
      "sys": "server11 (5611, Server)"
    },
    "outputs": {}
  },
  {
    "result": "EXECUTED",
    "inputs": {
      "sys": "server12 (5612, Server)"
    },
    "outputs": {}
  },
  {
    "result": "EXECUTED",
    "inputs": {
      "sys": "server13 (5613, Server)"
    },
    "outputs": {}
  }
]