Viele Wege führen nach Rom. So ist es auch bei Automic: Oft führen unterschiedliche Vorgehensweisen zum gewünschten Ergebnis.
Ich bin großer Verfechter davon, möglichst viele der verschiedenen Vorgehensweisen zu kennen, um je nach Situation die richtige auswählen zu können. Denn oft gibt es gute Argumente für verschiedene Wege und es hängt von der Situation ab, was gerade am besten passt.
Ein gutes Beispiel, um das zu verdeutlichen, sind Promptsets (PRPTs). In diesem Blogartikel zeige ich dir ganz kurz, wie man sie einsetzt. Vor allem erkläre ich jedoch, warum man sie verwenden sollte.
Wie erstellt man einen Workflow mit PRPTs?
Nehmen wir zur Veranschaulichung einen ganz einfachen Beispiel-Workflow: Ein Skript erhält über PRPTs zwei numerische Werte und addiert diese. Darauf folgt ein Job, der entsprechend dem Ergebnis aus dem Skript Pings ausführt.
Ganz einfach. Das Skript erhält 5 und 8, errechnet 13. Der Job führt 13 Pings aus.
Der entscheidende Punkt am Workflow ist: Wir haben zwei Tasks und der zweite Task braucht das Ergebnis des ersten als Eingabe.
Um diese Übergabe zu bewerkstelligen hat man (mindestens) zwei Möglichkeiten. Die populärste davon kennst du wahrscheinlich und ich werde hier nicht näher darauf eingehen: Der Wert wird über Vererbung mittels :PSET oder :PUBLISH weitergegeben.
Die zweite Möglichkeit ist mit einem Promptset. Dafür übergibst du per Post-Condition das Ergebnis des ersten Tasks an den Workflow und liest den Wert dann mit dem Promptset in den zweiten Task ein. Das funktioniert sogar, wenn ich die Vererbung bei beiden Tasks komplett deaktiviere.
Die zweite Variante ist aufwendiger. Insbesondere muss man ein Promptset erstellen – oder natürlich mehrere, wenn man einen komplizierteren Workflow hat.
Aber es gibt gute Gründe, diesen Mehraufwand in Kauf zu nehmen.
Grund 1: Tasks sind einzeln ausführbar
Sowohl das Skript als auch der Job können einzeln und unabhängig vom Workflow ausgeführt werden. Dadurch kannst du zum Beispiel ganz einfach Unit-Tests durchführen.
Das führt dann auch dazu, dass du einfach Testautomatisierungen implementieren kannst. Wenn alle Tasks ihre Variablen global erben und vererben, brauchst du dafür sehr komplizierte Lösungen.
Grund 2: Objekte einfach wiederverwenden
Alles, was die Objekte brauchen, bekommen sie per PRPT übergeben. Sie benutzen keine Variablen aus anderen Objekten. Deshalb hat jedes Objekt einen eigenen Name-Scope.
Dadurch kann jedes Objekt beliebig wiederverwendet werden. In diesem Workflow oder in anderen Workflows.
Du kannst die Objekte sogar einfach paketieren und an andere User weitergeben.
Grund 3: Jeder Task ist rerunnable
Der Workflow im Beispiel ist ziemlich einfach. Aber stell dir mal vor, du hast einen Workflow mit 15 Tasks, die der Reihe nach ablaufen und deren Werte voneinander abhängen.
Und jetzt stell dir vor, Task 12 aus der Reihe schlägt fehl, weil er einen falschen Wert hatte.
Du willst jetzt natürlich Task 12 noch einmal ausführen, mit dem richtigen Wert. Und anschließend sollen auch die Tasks 13 bis 15 ausgeführt werden. Task 1 bis 11 sind aber bereits erfolgreich gelaufen, die sollen so bleiben, wie sie sind.
Wenn der Workflow ohne PRPTs gebaut ist, ist die Lösung dafür nicht sonderlich elegant, weil entweder Tasks auf Prod editiert oder der Workflow abgebrochen und mit “wartet auf manuelle Freigabe” neu gestartet werden müssen.
Wenn der Workflow mit PRPTs gebaut wurde, ist die Lösung viel einfacher.
Denn dann kannst du den fehlgeschlagene JOB einfach erneut ausführen und per PromptSet den gewünschten Wert für den JOB manuell eingeben.
Einfach, sauber und transparent – dein Auditor wird es dir danken.
Muss ich immer PRPTs verwenden?
Die Arbeit mit PRPTs ist mehr Aufwand beim Erstellen. Keine Frage.
Du fragst dich jetzt vielleicht, ob du diesen Mehraufwand immer auf dich nehmen solltest.
Notwendig ist das nicht. Es gibt hier keine eindeutig bessere oder schlechtere Lösung. Du kannst das je nach Aufgabe entscheiden. Aber es ist sehr nützlich, diese Methode zu kennen und zu wissen, welche Vorteile sie hat.
Es ist einfach ein weiterer Pfeil in deinem Automic-Köcher.
Ich habe hier die Grundidee und die daraus resultierenden 3 Haupt-Vorteile erläutert.
Willst du genau sehen, wie es funktioniert? Dann melde dich für die 14-tägige Testversion meiner Membership Plattform an. Dort findest du die Aufzeichnung eines Webinars, in dem ich Schritt für Schritt die Implementierung zeige. Es ist die Webinar-Aufzeichnung vom 14.2.2020 und sie befindet sich im Mitglieder-Dashboard in der Kategorie “Archiv”.
Wenn du bereits über einen Account verfügst, kannst du die Aufzeichnung über diesen Link aufrufen.