RPA Software-Komponenten

In diesem Beitrag wird der grundsätzliche Aufbau einer Robotic Process Automation-Software und deren Komponente weiter aufgebohrt. Ein RPA-Werkzeug besteht in der Regel aus drei verschiedenen Teilen, welche nachfolgend detailliert vorgestellt werden:

  • Entwicklungsumgebung (Studio)
  • Ablaufumgebung (Orchestrator / Steuerzentrale)
  • "Software-Roboter", mithilfe deren die Prozesse auf einem Rechner oder Server ausgeführt werden

Jede Komponente hat eigene Eigenschaften und wird in einer grösseren Installation von unterschiedlichen Benutzern benutzt und bedient. Somit werden entsprechende Rechte & Zugriffe verwaltet, um vorbeugend einigen IT-Sicherheitsaspekten gerecht zu werden. Als erstes wird das Studio zur Entwicklung der "Roboterprozesse" vorgestellt.

RPA - Software-Komponenten

Entwicklungsumgebung (Studio)

Die Workflows und Aktivitäten werden in einer Studio-Software mittels Drag-and-Drop-Funktionalität zusammengestellt und entsprechend konfiguriert. Alternativ - oder ergänzend - können (Teil-)Abläufe direkt von einem User ausgeführt und zugleich mit einem Rekorder aufgezeichnet werden - analog dem Makro Rekorder in VBA, wie man ihn vielleicht bereits aus einem Produkt der Microsoft Office-Palette kennt. Die entwickelten Prozesse können jederzeit mittels Debugging Schritt für Schritt ausgeführt und getestet werden. Eine gewisse Skalierbarkeit beim Automatisieren von Prozessen ist ebenfalls gegeben: (Teil-)Prozesse in anderen Abläufen können als sogenannte "Snippets" wiederverwendet werden. Ein Entwickler kann so gleiche Arbeitsschritte in einen anderen Prozess integrieren.

Obschon die Prozesse grundsätzlich von Entwicklern basierend auf den fachlichen Anforderungen erarbeitet und aufgezeichnet werden, führt ein Developer diese nicht selbst in der Produktionsumgebung aus. Eine explizite Trennung der Development, UAT und Live-Umgebung wird klar empfohlen. Um das Potenzial des RPA-Werkzeuges vollumfänglich zu nutzen und Security-Aspekten gerecht zu werden, sind weitere Software-Komponenten notwendig.

Live-Umgebung (Orchestrator / Steuerzentrale & Robot)

In der Live-Umgebung ist einerseits eine Steuerzentrale (Orchestrator / Management Konsole) vorzufinden. Fertiggestellte Prozesse werden auf diese Plattform hochgeladen und dort genehmigt - mit entsprechendem Versionsverlauf. In dieser Steuerzentrale lassen sich Benutzer, Rechte sowie alle Prozesse und Geräte verwalten. Zudem können Abläufe manuell gestartet oder aber auch Terminplanungen für die automatische Ausführung eingepflegt werden. Logs und generelle Monitoring-Funktionen geben Auskunft über die Roboter-Aktivitäten und helfen sowohl bei der Verbesserung der Prozesse wie auch beim Auditing.

Die dritte Komponente einer RPA-Software besteht aus den "Software-Robotern" selbst. Es handelt sich keineswegs um physische Roboter, die beispielsweise in einer Produktionshalle vorzufinden sind. Sehr vereinfacht gesagt imitiert die Software die Maus- und Tastaturbefehle, die ein Benutzer bei der Ausführung des Prozesses durchführt. Eine wichtige Unterscheidung besteht darin, dass es begleitete und unbegleitete Roboter (attended/unattended) gibt. Ein begleiteter Roboter wird auf dem Gerät des Benutzers ausgeführt und im Normalfall durch den User selbst gestartet. Der Nutzer wird somit spezifisch unterstützt, der Roboter benötigt jedoch Input und die Entscheidungen des Benutzers. Ein unbegleiteter Roboter arbeitet hingegen im Hintergrund oder gar auf einem Server. Die Prozesse werden basierend auf verschiedenen Ereignissen oder aufgrund der Scheduling-Möglichkeiten in der Steuerzentrale automatisch gestartet. Bei der unbegleiteten Robotic Process Automation werden die Aktivitäten im Hintergrund ausgeführt, somit ist die Geschwindigkeit bei der Ausführung zudem höher, da die Elemente nicht zusätzlich am Bildschirm des Benutzers dargestellt werden müssen. Je nach Prozess ist zu evaluieren, welche Art von Software-Roboter geeignet ist. Es ist zudem denkbar, dass begleitete Roboter in einer ersten Phase implementiert werden, damit sich die User und die gesamte Organisation an die neuen Möglichkeiten und den Umgang mit den Software-Robotern gewöhnen können. Dieses Vorgehen kann die Akzeptanz fördern und sich somit positiv auf das Change Management und die Kommunikation innerhalb des Unternehmens auswirken.

Abschliessende Überlegungen und Anmerkungen

Auf dem Markt finden sich eine Vielzahl an RPA-Software-Anbieter und die Komponenten werden je nach Produkt unterschiedlich benannt. Im Grundsatz sind die Plattformen jedoch gleich aufgebaut und haben ihre relativen Stärken und Schwächen. Wir (mit der Firma Routinuum) sind spezialisierter Integrationspartner der RPA-Software von UiPath. Die drei Komponenten heissen da UiPath Studio, UiPath Orchestrator und UiPath Robot. Die obige Darstellung der Komponenten ermöglicht ein genaueres Verständnis einer RPA-Software. In der effektiven Umsetzung eines RPA-Projektes kann die Architektur etwas detaillierter sein und richtet sich nach den Anforderungen des Unternehmens.

Excel mit Robotic Process Automation (RPA)

Unter Robotic Process Automation (RPA) versteht man das Ausführen von administrativen Tätigkeiten mithilfe von "virtuellen Mitarbeitern" - einem "Software-Roboter". Dabei kann mit sämtlichen Applikationen (auch Legacy-Systemen) und dem Internet interagiert werden. Die Technologie an sich haben wir hier bereits im Jahr 2017 (siehe hier) vorgestellt. In diesem Beitrag geht es nun darum, einige Interaktionsmöglichkeiten zwischen der RPA-Software von Kofax (Kapow / Kofax RPA) und Excel aufzuzeigen.

Als Einstieg werden folgende Bereiche in diesem Blog vorgestellt:

  • Excel-Datei in Kapow einbinden
  • Selektion von Zellen, Zeilen & Spalten
  • Loop durch eine Spalte und Extraktion von Werten (Hinterlegen in einer Variable)

Der vorliegende Prozess beinhaltet eine interne Artikelliste, deren Inhalt durchlaufen und extrahiert werden soll. Weiterführend könnten diese Daten verwendet werden, um beispielsweise online Preise zu vergleichen.

Excel-Datei in Kapow einbinden

In Kofax Kapow wird eine Excel-Datei direkt als Tabellenblatt angezeigt, wie man sich das in Excel selbst gewöhnt ist. Die Abbildung unten zeigt diese Ansicht:

KapowExcelWindow

Um dies zu erlangen, erstellen wir als erstes eine Variable des Typs "Excel" und wählen die Excel-Datei aus - für dieses Beispiel habe ich die Variable "artikelliste" angelegt:

VariableArtikelliste

Als nächstes geben wir dem Workflow die Aktion "Open Variable" hinzu und wählen da die angelegte "artikelliste"-Variable.

KapowActionOpenVariable

Selektion von Zellen, Zeilen und Spalten

Innerhalb des Fensters können nun beliebige Zellen und Bereiche, Spalten oder Zeilen ausgewählt werden. Ein Klick auf die Box links oben (oberhalb von Zeile 1, links von Spalte A) lässt wie in Excel selbst alle Zellen selektieren.

KapowExcelSelect

Loop durch eine Spalte & Extraktion der Werte

Das Ziel dieses Beispielprozesses besteht darin, sämtliche ISBN-13 zu extrahieren und diese weiterzuverarbeiten. Hierzu geht man mittels Rechtsklick auf die gewünschte Spalte (A), "Loop" → "Loop Rows in Selection" und wir wählen zusätzlich, dass die erste Zeile (aufgrund der Überschriften) ignoriert wird:

LoopThroughSelection

Nachdem der Loop angelegt ist, definieren wir eine zusätzliche Variable "isbn13". Der nächste Schritt besteht darin, den Text (die ISBN-13) zu extrahieren. Dazu erfolgt ein Rechtsklick auf die Zelle "A2", gefolgt von "Extract" → "Text" und die erstellte Variable "isbn13".

ExtractTextISBN13

Im Variablen-Fenster wird je nach Prozess-Schritt die entsprechende ISBN angezeigt, im Beispiel unten die allererste ISBN aus Zelle "A2":

VariableISBN13

Um diesen Punkt weiter zu illustrieren, zeige ich Dir hier eine Abbildung mit dem bisherigen Workflow (Artikelliste öffnen, Loop & Extraktion des Wertes). Zudem stellen wir den Loop auf die zweite Iteration - so wird die Zelle "A3" selektiert und dessen Wert extrahiert. Rechts unten im Variablen-Bereich ist zudem diese ISBN hinterlegt, wohingegen in der Abbildung oben noch die erste ISBN des Titels "Archipel" hinterlegt war.

ExtractTextLoopValue

Weitere Excel-Aktionen in Kapow

Abschliessend füge ich hier eine Abbildung sämtlicher Aktionen ein, die im Aktivitäten-Fenster ausgewählt werden können. Diese Liste ist jedoch nicht abschliessend, da beispielsweise mit Device Automation viele weitere Möglichkeiten im Zusammenhang mit Excel erschlossen werden können.

KapowSelectActionExcel

Statusupdate April 2018

Das letzte Statusupdate liegt über ein Jahr zurück (August 2016) - es ist wieder einmal Zeit, Euch über den aktuellen Stand und die anstehenden Themen zu informieren. In den vergangenen Monaten ist die Besucherzahl auf dem Blog markant angestiegen. Als Einstieg zum Beitrag findest Du hier ein aktuelles Diagramm der Aufrufe über die letzten 12 Monate - vielen Dank für die Unterstützung und das Interesse an den hier verfügbaren Inhalten!

Der Anstieg der Aufrufe ist wirklich massiv. Ich habe im Zeitverlauf einige Links auf externe Seiten eingebaut, was definitiv einen bedeutenden Einfluss auf die Google-Suchen hatte (unter anderem die "Referenzen" meiner Tätigkeit in der Excel- und Prozess-Beratung).

Fussball WM 2018 - Tippspiel

Im Juni startet die Fussball-Weltmeisterschaft in Russland. Hierzu werde ich Euch wieder eine Excel-Vorlage für ein Tippspiel erstellen. Der Beitrag für die Euro 2016 kam bei den Lesern gut an.

Power BI

Kürzlich habe ich den Blog "Power BI Desktop (Download Link)" veröffentlicht. Darin findest Du eine Einführung zum Tool. Ich möchte künftig mehr über Power BI berichten und Euch dazu hilfreiche Tipps & Tricks bieten. Das Tool ist mächtig und wird in Zukunft immer mehr Anwendung finden.

Robotic Process Automation (RPA)

Robotic Process Automation (RPA) ist ein weiteres Themengebiet, mit dem ich mich zurzeit rege auseinandersetze. Im August letzten Jahres habe ich das Thema generell angekündigt (hier geht's zum Beitrag). Seither habe ich mich stark mit der Technologie beschäftigt und Excelblog.ch bietet nun auch alles rund um RPA-Beratung und -Umsetzung an. Auf dem Blog wirst Du mehr zu dem Thema lesen können; ich plane unter anderem darüber zu berichten, wie man geeignete Anwendungsfälle für RPA in seinem Unternehmen identifizieren kann.