Automatisierte Prozesse mit EPMAUTOMATE

In meinem Beitrag „Erfahrungsbericht: EPM AUTOMATE“ im Jahr 2018 hatte ich Verwendung von diesem Werkzeug schon einmal besprochen. Hierin hatte ich beschrieben, dass es für alle EPM Cloud Produkte verwendet werden kann. In diesem Beitrag beschreibe ich wie Prozesse für die EPM Cloud mit diesem Tool automatisiert werden können. Es ist ein Beispiel, wie es in der Praxis funktioniert.

Automatisierung

Software Anwendungen sollten ohne (viele) manuelle Eingriffe laufen. Anwendungen sind da, um Daten zu verarbeiten, also in der einfachsten Form: Eingabe, Logik hinzufügen und Ausgabe. Weil die Welt sich ständig verändert, sollten sie sich am Besten selbst automatisch anpassen. Wenn es neue Elemente gibt (Kunden, Produkte, etc.) dann sollten diese automatisch hinzugefügt werden oder zumindest sollte der manuelle Aufwand minimal sein. Wenn es dann einmal einen Fehler gibt, sollten dieses einfach zu finden und beheben sein.

Zur Automatisierung werden of Skripte eingesetzt. Die Skriptsprache EPMAUTOMATE ist ein Programm in welchem Kommandos an die EPM Cloud gegeben werden können. Sie wird durch Batch, PowerShell oder anderem aufgerufen. Dieses geschieht durch den Aufruf von epmautomate <kommando> […]

Das Errorhandling, Logdatei Pflege, Loops und „scheduling“ sowie oft komplexe und viele Aufgaben findet lokal in den Skripten statt.

Aufbau für Automatisierung

EPM Automate benötigt eine lokale Installation und hat damit auch eine Ordnerstruktur. Es ist ratsam nicht in diese Ordner von EPM Automate zu arbeiten. Die Software bekommt regelmässig Updates und man weiss ja nie, was dort dann passiert. Der Standard Ordner ist „EPM Automate“.

Praktisch ist eine separate Ordnerstruktur zu haben, und darin separate Ordner für Skripte, Logdateien und Dateien mit Bewegungsdaten zu machen. Ich verwende gern „EPM_Automate“ (mit Unterstrich).

Abbildung 1: Vorschlag für Ordnerstruktur.

Modular

Weil Skripte andere Skripte aufrufen können, kann Modular gearbeitet werden. So kann man ein Skript zum Login erstellen und ein anderes zum Export der Daten, anstatt in einem Skript alles unterzubringen, also wo zuerst der Login stattfindet und danach der Export. Wenn sich dann der Login wegen einen oder anderen Grund ändert, muss man im modularen Aufbau nur ein Skript anpassen (testen und dokumentieren), in dem anderen fast alle. Modular arbeiten ist in vielen Fällen also weniger Aufwand in der Pflege und lohnt sich um so mehr, je grösser die Anzahl Skripte ist.

Abbildung 2: Schaubild modularer und generischer Aufbau.

Parameter beim Start mitgeben

Skripte sollten mit variable parameter gestartet werden. So hat man in der Regel immer mindestens eine Test und eine Produktionsumgebung. Unter der Verwendung von Verbindungsparametern beim Aufruf der Skripte kann der Inhalt des Skripte gleich bleiben und ändert sich nur die Verbindungsparameter. In Abbildung 3 sind im oberen Teil die Aufrufe für die Testumgebung und darunter die Produktionsumgebung. Die Variablen werden in dem eigentlichen Skript verarbeitet.

Abbildung 3: Modularer Aufbau bei Skripte – oben batch files für Test und Produktion, unten Loginskript mit Variablen.

Emailfunktion

Interessant ist die Email Funktionalität aus der EPM Cloud heraus. Diese kann eingesetzt werden um Logdateien zu sichern oder wenn Prozesse auf einen Fehler stossen, diesen dann an die jeweilige Email-Gruppe senden. Hierbei können auch Beilagen mitgeschickt werden. Nachfolgend ist ein Beispiel.

%EPMAUTOMATEPATH% sendMail %ID% „Email von der EPM-Umgebung %ENVIRONMENT% %DOMAIN% “ Body=“Email von der %ENVIRONMENT%%DOMAIN% wo gerade gearbeitet wird. Beigefuegt eine Exportdatei. “ Attachments=All_Lev0_Export.zip

Processing…

Retrieving status…

sendMail completed successfully

Abbildung 4: Ein (kleiner) Teil aus meiner Emailbox mit der Nachricht.

Abbildung 5: Die Nachricht mit dem Anhang.

Aufrufen von Jobs

EPM Automate kann auch Jobs aufrufen und ausführen. Diese können selbstverständlich auch mit Parameter eingegeben werden. Hierunten ein Beispiel von einem Datenbank refresh.

Abbildung 6: Ein Job zum Refresh der Datenbank

%EPMAUTOMATEPATH% refreshCube Refresh_DB

Processing…

Retrieving status…

refreshCube completed successfully

Details: Refresh Complete.

Nur im EPMAUTOMATE

In der EPM Cloud gibt es Funktionalität, die nur mit dem EPM Automate ausgeführt werden kann. Oft, weil dieses die gesamte Umgebung betrifft, und nicht ausgeführt werden kann, wenn man in der Cloudumgebung angemeldet ist. Dieses sind die folgenden Funktionen:

  • resetService      

Dieses startet die Cloudumgebung neu. Dieses kann notwendig sein, wenn es grössere Probleme gibt oder wenn ein Snapshot zurückgesichert wurde.

  • Recreate

Mit dem Recreate wird ein Snapshot zurück auf die Umgebung gebracht.

  • renameSnapshot           

Mit dem Rename Snapshot kann man die Snapshot Datei umbenennen. Hiermit wird sie nicht in dem täglichen Prozess überschrieben.

  • downloadFile/uploadFile           

Download oder upload von Dateien grösser als 2 Gb.

  • Replay                

Dieses spielt die ReplayFile, eine Datei die alle Aktivitäten in einer Zeitperiode aufzeichnet, wieder ab. Dieses kann verwendet werden, um Last zu erzeugen, als ob Benutzer auf dem System arbeiten.

  • sendMail

Sendet Emails, eventuell mit Anhänge.

Fazit

Mit EPM Automate können viele Prozesse automatisiert werden, und damit das manuelle Eingreifen stark reduziert werden. Durch gutes Einrichten der Prozesse kann man die Anwendungen in der EPM Cloud mit minimalem Aufwand betreiben. Ich hoffe, mit den Beispielen einen Einblick gegeben zu haben, wie dieses in der Praxis funktioniert.

Ihr Philip Hulsebosch

Veröffentlicht unter EPM Cloud Getagged mit: , , ,