Automatisierung und Self Service sind in aller Munde! Dennoch gilt es, einfach wartbare Lösungen zu implementieren. Dabei bietet die Enterprise Service Management – Plattform der Matrix42 eine effiziente Möglichkeit. Auf Basis der Definition von Bereitstellungworkflows im Servicekatalog können hochkomplexe Prozesse automatisiert werden. Um die Wartbarkeit hochzuhalten, solltest du in gewissen Fällen Workflowkonfigurationen in der Servicebereitstellung verwenden.
Was sind Workflowkonfigurationen?
Eine Workflowkonfiguration ermöglicht es ein und denselben Workflow für mehrere Servicebereitstellungen, jedoch mit unterschiedlichen Parametern zu verwenden. Ein Beispiel an dieser Stelle ist z.B. die Zuweisung von Tags bzw. Labels zu mobilen Geräten in einer Device Management Lösung. Statt für jeden Tag einen eigenen Workflow zu erstellen, kann dieser auch über eine Workflowkonfiguration dynamisch am Service hinterlegt werden:
Um Workflowkonfigurationen nutzen zu können müssen die folgenden Schritte erledigt werden:
- Erstellung eines Datenmodells
- Erstellung der Workflowkonfiguration
- Verknüpfung der Workflowkonfiguration mit dem Workflow
- Auslesen der Daten im Workflow
Erstellung des Datenmodells
Der erste Schritt zur eigenen Workflowkonfiguration ist die Erstellung eines Datenmodells, welches die dynamischen Werte beinhalten wird. Hierzu legen wir über den Assistenten ein neues Konfigurationselement an:
Im nächsten Schritt erzeugen wir eine neue Datendefinition:
Wichtig ist, dass an dieser Stelle auch die Checkbox “Dimensionssicherheit unterstützen” aktiviert ist. Andernfalls kann dieses CI nicht für Workflowkonfigurationen verwendet werden.
An dieser Stelle habe ich der Einfachheit halber nur ein Text-Attribut “Ud_TagName” angelegt, welches den Namen des Tags in der Device Management Lösung beinhalten soll. Selbst verständlich können hier auch Beziehungen zu importierten Daten verwendet werden.
💡Kleiner Tipp: Möchtet ihr Daten (wie z.B. Tags) super easy aus Drittsystemen ins Matrix42 importieren, könnt ihr hierfür das neo42 GenericConnectorFramework verwenden. Es bietet euch die einfache Möglichkeit, Datenprovider zu erstellen und Importdefinitionen (GDIE Imports) durch PowerShell-Skripte zu befüllen.*Werbung
Ist das Datenmodell erweitert, kannst du auch direkt die Benutzeroberfläche automatisch durch den Assistenten generieren lassen. Hier genügt es den Dialog erstellen zu lassen. Dieser wird später zur pflege der Workflowkonfigurationsdaten angezeigt. Die Verwendung des Assistenten zur Erstellung der Benutzeroberfläche, ist bereits in diesem Artikel beschrieben: Verwendung von Formularen im Service Management
Erstellung der Workflowkonfiguration
Das Datenmodell sowie der Dialog ist erstellt. Nun kann über die folgende Aktion eine neue Konfiguration angelegt werden:
An dieser Stelle muss ein Name sowie das Konfigurationsformular (unser zuvor erstelltes Konfigurationselement) hinterlegt werden:
Konfiguration mit Workflow verknüpfen
Da die Konfiguration nun so weit vorbereitet ist, kann diese nun mit dem Workflow verknüpft werden. Hierzu musst du lediglich die Workflow-Definition öffnen und an dieser Stelle den zuvor erstellten Datensatz “WFConfig MDM Tag” hinterlegen:
Konfigurationsdaten auslesen
In diesem Abschnitt schauen wir uns an, wie die später hinterlegten Daten im Workflow ausgelesen werden können. Hierzu muss lediglich eine “Get Single Record Data”-Activity in den Flow gezogen werden:
Wie du im Screenshot siehst, wird die SVCServiceBookingClassBase mit einem Filter auf die Expression-ObjectID abgefragt – bis hierher nichts Wildes. Nun ziehen wir das Attribut Service.ServiceForm.T(Ud_WFconfigMDMTagClassBase).Ud_TagName, welches schließlich den Wert aus der Konfiguration beinhalten wird.
Funktionalität überprüfen
Hinterlegen wir nun an einem Service den Workflow inklusive eines Test-Tags, können wir diesen testweise bestellen:
Im Visual Tracking sehen wir nun (sofern der Workflow auf “Fehlerbehandlung” steht), dass der konfigurierte Wert “Test” ausgelesen wurde:
Fazit
Wie du siehst, ist es wirklich einfach möglich, dynamische Bereitstellungsprozesse auf Basis von Workflowkonfigurationen zu erstellen. Es erleichtert die zukünftige Pflege, da nur ein einzelner Workflow bearbeitet werden muss, wenn der eigentliche Prozess sich teilweise ändert. Probiere es einfach aus und du wirst sehen, dass es dir viel Arbeit ersparen wird.