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 in EPM Cloud Verwendete Schlagwörter: , , ,