iRPA On-Premise oder in der Cloud?
Die meisten iRPA-Softwarelösungen bestehen aus einer Kombination von On-Premise- und Cloud-Komponenten. Durch diese wird der volle Zyklus der Entwicklung, Test und Deployment gewährleistet. Diese Unterteilung findet auch in der Softwarelösung SAP Intelligent RPA statt. Wie genau die Entwicklung und das Deployment abbildbar ist, wird nachfolgend an einem Beispielszenario erklärt.
iRPA-Softwarelösungen können die Zielsysteme grundsätzlich entweder über Benutzeroberflächenautomatisierung oder über Schnittstellenautomatisierung integrieren. Die Benutzeroberflächenautomatisierung bedingt die vorgelagerte Aufzeichnung der verwendeten UIs sowie einer Definition der UI-Elemente. Für die Schnittstellenautomatisierung ist maßgeblich, dass Systemschnittstellen (APIs) vorhanden sind und entsprechende Kommunikationsvereinbarungen mit Zugangsdaten vorliegen. Dieser Beitrag wird sich auf die Automatisierung über APIs mit der Softwarelösung SAP Intelligent RPA konzentrieren.
Zur Erläuterung der Vorgehensweise wird ein Szenario aus dem Compliance-Bereich verwendet. Hierbei soll ein Benutzer eine übergebene Rolle in der SAP S/4HANA Cloud zugewiesen bekommen. Der Benutzer wird durch UserID übergeben und anschließend per API-Aufruf aktualisiert. Die API ist auf api.sap.com dokumentiert.
Entwicklung der Automatisierung
Für die Entwicklung der Automatisierung dient die Onpremise-Komponente SAP Intelligent RPA. Hierin muss zunächst ein neues Projekt angelegt werden:
In dem neuen Projekt wird in der Workflow-Perspektive unter GLOBAL ein neuer Workflow angelegt. In diesem werden in der Context-Spalte rechts die Input-Variablen deklariert:
Diese können anschließend in dem Properties-Reiter als Input ergänzt werden:
In dem neuen Workflow können dann die Aktivitäten hinzugefügt werden. Dazu werden zunächst Variablen aus der Cloud Factory geholt, welche für den Ablauf relevant sind. Diese sind Zugangsdaten des Kommunikationsbenutzers sowie die System-URL der S/4HANA API.
Siehe dazu den Abschnitt Deployment zur Anlage der Variablen. In dem Workflow werden anschließend die Aktivitäten “Declare credential” + “Get credential” sowie “Declare Setting” + “Get Setting”, um genau diese Variablen abzurufen.
In den Properties der Declare-Aktivitäten werden die notwendigen Eigenschaften vergeben:
Der Setting name (Bei der Aktivität “Declare credentials”: Credential name) entspricht dabei dem Variablen-Namen in der Cloud-Factory. Wichtig ist der Haken bei Local or server, weil ein Abruf vom Server vorgenommen wird.
Analoges gilt für die Aktivitäten Get Setting und Get credential. Hier muss der Setting name bzw. Credential name wieder exakt dem Variablen-Namen aus der Cloud-Factory gleichen. Die Eigenschaft Variable nimmt dabei die Zuweisung in eine lokale Variable vor. Diese kann entweder im Context angelegt werden oder auf eine Variable in den lokalen Daten zugewiesen werden.
Für den API-Abruf werden in diesem Beispiel eine Custom-Activity verwendet. Diese dient zur Aktualisierung des Benutzers. In dieser wird in der Code-Perspektive zunächst der API-Payload analog der API-Dokumentation erstellt:
Und anschließend der API-Aufruf mithilfe der ctx.ajax.call Funktion durchgeführt:
Damit ist der Prozess bereit für den Export, welcher in dem Destkop Studio unter der Export-Funktion vorgenommen wird.
Deployment
In der Cloud-Factory muss zunächst eine Umgebung angelegt werden, in der anschließend Variablen für die Ausführung, Agenten, Projekte und Auslöser angelegt werden. Dazu wird im Reiter Umgebung der Button “Neue Umgebung” gewählt. Anschließend kann die neue Umgebung angelegt werden:
Für die Ausfühung werden die Zugangsdaten des Kommunikationsbenutzers benötigt. Dazu wird in der angelegten Umgebung eine neue Variable vom Typ “Credentials” angelegt:
Analog dazu wird eine weitere Variable “S4SOAP_SystemUrl” vom Typ Text angelegt. Wichtig: der Name muss beim Abruf exakt gleich geschrieben werden.
Im Reiter Agenten muss zudem der Desktop Agent verbunden werden. Dazu kann die Kennung des Computers dienen. Anschließend muss das exportierte Projekt aus dem Desktop Studio in die Cloud Factory geladen werden. Dies geschieht zunächst im Reiter “Pakete”. Über “Auslöser hinzufügen” kann das Paket direkt einer Umgebung zugewiesen und der Auslöser-Typ definiert werden:
Die neue Umgebung auswählen, dann API-Trigger auswählen und anlegen. Die Cloud Factory generiert anschließend API-Aufruf-Informationen, mit denen der Prozess gestartet werden kann:
Um den Prozess aufzurufen muss ein POST-Request auf die angegebene URL mit dem Header-Feld „irpa-trigger-token“ und dem angegebenen Payload ausgelöst werden. Die Authentifizierung muss als OAuthV2 mit den Client-Credentials aus der SAP Cloud Plattform erfolgen.
Fazit: einfache Entwicklung und Deployment mithilfe grafischer Editoren und Code-Perspektiven
Automatisierungen können vollkommen grafisch angelegt und Einstellungen über die Eigenschaften vorgenommen werden. Für erweiterte Szenarien können Custom-Activities eingefügt und eigener Code in JavaScript-Sprache eingefügt werden.
Die Ausführung der Automatisierung kann in dem Modus „attended“ oder „unattended“ erfolgen. In diesem Beispiel eine „unattended“ Automatisierung, welche über einen API-Aufruf ausgelöst wird. Dadurch können andere Prozesse, Programme oder Events eine Automatisierung aufrufen, was in einem konkreten Kontext sehr hilfreich sein kann.