Robotic Process Automation

Allgemeines

Was versteht man unter RPA?

Unter Robotic Process Automation (kurz: RPA) versteht man die automatisierte Bearbeitung von strukturierten Daten durch sogenannte Softwareroboter. Die entwickelten Roboter sind anschließend in der Lage, ganze Geschäftsprozesse oder einzelne Prozessschritte automatisiert durchzuführen.

Der Roboter interagiert mit den verschiedenen am Prozess beteiligten Systemen beziehungsweise Anwendungen, indem er die Rollen und Aufgaben der menschlichen Anwender übernimmt. Durch die Interaktion mit der grafischen Oberfläche und der Erfassung sowie die regelbasierte Bearbeitung der Daten können alltägliche Aufgaben durch die Software automatisiert durchgeführt werden.

Teil- und vollautomatisierte Prozesse

Grundlegend können die RPA-Roboter in zwei Arten unterteilt werden.

Auf der einen Seite befinden sich die vollautomatisierten oder auch „unattended“ Roboter. Diese zeichnen sich dadurch aus, dass (meist) keine aktive Benutzeraktion erfordert ist, sondern diese im Hintergrund auf zentralen Servern arbeiten. Die Roboter werden über ein Monitoring- und Kontrollzentrum gestartet, gestoppt und überwacht.

Auf der anderen Seite stehen die teilautomatisierten beziehungsweise „attended“ Roboter. Zum Starten dieser Roboter ist eine aktive Interaktion mit dem Nutzer erforderlich. Die Roboter laufen vorwiegend auf dem Nutzerdesktop und unterstützt den Nutzer bei einzelnen Aufgaben, die zum Beispiel durch einen Befehl angefordert wurden.

Vorteile

  • Brückentechnologie: RPA kann auf voneinander getrennte Systeme einzeln zugreifen und diese trotz fehlender Schnittstellen verbinden.
  • keine Modifikation der IT-Infrastruktur: Durch Benutzeroberflächeninteraktion muss die bestehende IT-Infrastruktur nicht verändert werden. Die bisher eingesetzten Systeme und Applikationen bleiben also unangetastet.
  • geringe Kosten und hoher Return on Investment (ROI): Die einfache Implementierung mithilfe des „Drag and Drop“ Prinzipes und die Einfachheit des Entwicklung führen zu einer kostengünstigen Implementierung. UiPath führt zu einem hohem ROI, da die Prozesse schneller und autonomer laufen und dadurch Arbeitsstunden gespart werden.
  • hohe Skalierbarkeit von Robotern: Ist der Prozess einmal implementiert, kann er auf mehreren Robotern gleichzeitig laufen oder mehrfach am Tag ausgeführt werden.
  • Wiederverwendbarkeit von Modulen: Einzelne Abschnitte aus bereits entwickelten Prozessen können mit leichter Veränderung wieder verwendet werden z.B.: das Schreiben einer E-Mail.

Nachteile

  • Aufbau einer RPA-Abteilung notwendig: Fehler und plötzliche Systemabbrüche müssen ein adäquates Management erfahren. Weitere Aspekte sind zum Beispiel die Sicherheit und Einrichtung der Roboter wofür Spezialisten notwendig sind.
  • ständig ändernde Prozesse und unstrukturierte Daten problematisch: RPA stößt bei der Verarbeitung von unstrukturierten Daten und zu komplexen Entscheidungen schnell an seine Grenzen. Weiterführende Literatur ist die Studie SPA/IPA, die sich mit der potenziellen Zukunft RPA & Machine Learning & AI beschäftigt.
  • Verhalten bei veränderter GUI/HTML: Durch kleinste Änderungen an den zugrundeliegenden Applikationen (zum Beispiel: Umbennen eines div-Elements einer Website oder GUI-Änderungen), kann es zu einem Komplettausfall des Roboters kommen, da dieser nicht mehr korrekt auf die einprogrammierten Elemente zugreifen kann.

Anwendungsgebiete

  • Ablösung periodisch auftretender Arbeit: Arbeitsprozesse, welche digital nach festen Regeln durchgeführt werden, können unter Einsatz von RPA auf einfache Weise automatisiert und somit effizienter gestaltet werden. Solche Fälle treten in vielen Bereichen, wie zum Beispiel Finance, Accounting oder Controlling, auf.
  • Nutzung als Brückentechnologie: Besonders für Aufgaben, die auf verschiedene Anwendungen und Datenquellen zugreifen, ist der Einsatz von RPA ein großer Vorteil. Es werden keine expliziten Schnittstellen benötigt, da sich die Software die notwendigen Daten über die grafische Oberfläche selbst zusammentragen kann. Somit müssen auch keine Abänderungen an den bestehenden Prozessen durchgeführt werden.
  • Einsatz als Übergangslösung: Durch die schnelle und kostengünstige Inbetriebnahme der Softwareroboter, kann RPA zunächst als Übergangslösung genutzt werden, bis ein neues (auf tieferer Ebene integriertes) System implementiert wird.

Ein expliziter Anwendungsfall mit verschiedenen Funktionalitäten wird im dritten Abschnitt des Artikels näher erläutert.

UiPath

Für den Entwurf eines RPA-Roboters gibt es verschiedene Software-Anbieter. Dazu zählen zum Beispiel Automation Anywhere, Blue Prism oder UiPath. In unserem Fall haben wir uns für den Anbieter UiPath entschieden, um verschiedene Beispielautomatisierungen umzusetzen.

UiPath wurde im Jahr 2005 in Bucharest von Daniel Dines gegründet. Mittlerweile ist aus einem anfänglichen 10-Mann-Team der Marktführer in RPA-Technologien geworden.

UiPath Studio

Das UiPath Studio ist die entsprechende Entwicklungsumgebung für RPA-Anwendungen. UIPath setzt hier auf den Drag and Drop Baustein Ansatz um komplexe Software Entwicklung verständlicher zu machen.

Installation nach UiPath

Die Installationsanleitung finden Sie auf der offiziellen Website.

Oberfläche

  1. Aktivitäts-Blöcke

    • Vordefinierte Blöcke für Abläufe (Öffnen/Auslesen/Bearbeiten von Excel Dateien, Benutze Browser, Sende Mail, …)
    • Blöcke müssen mithilfe von Variablen/Eigenschaften angepasst werden
    • Um einen Workflow zu erstellen müssen Blöcke miteinander verbunden werden
  2. Designer-Fenster

    • Übersicht aller eingebauten Aktivitäten
    • Blöcke sind als „Ablauf“ dargestellt und mit Pfeilen verbunden : Workflow
    • Darstellbar als SequenzenFlussdiagramme oder Zustandsautomaten
    • Zugriff auf verwendete Variablen
  3. Eigenschaften-Fenster

    • Konfiguration von verwendeten Blöcken (z.B. Wahl der Browseranwendung, API-Keys, Soll die Anwendung während Prozess sichtbar sein?, …)
  4. Pakete verwalten

    • Hinzufügen von weiteren Paketen bzw. Dependencies, die standardmäßig nicht eingebunden sind (Datenbankzugriff, PowerPoint Präsentationen, …)
  5. Debugging/Ausführen/Speichern

    • Programm starten/debuggen/speichern
  6. Projekt Upload

    • Extrahieren des Projektes
    • Upload zum Orchestrator
  7. Aufzeichnungsfunktion, Screen Scraping und Datenextraktion

    • Aufzeichnung von Klickaktivitäten (in Anwendungen/Browsern)
    • Automatische Generierung von Blöcken
    • Import von Excel Dateien

Funktionsweise und Benutzung

UiPath setzt bei Ihrer RPA-Softwarelösung auf ein Bausteinprinzip. Die einzelnen Funktionsbausteine können per Drag and Drop in den Hauptworkflow integriert werden. Der Workflow kann mithilfe von Studio kompiliert und debuggt werden.

UiPath bietet vielfältige Hilfsmittel zur Automatisierung von Prozessen:

  • Versionskontrolle (Git, SVN) zum kollabarativen Arbeiten wird unterstützt
  • Die Eingaben und Klicks eines Nutzers können aufgezeichnet und in einen Workflow transformiert werden
  • Selektoren, die das Ansteuern von GUI-Elementen unterstützen
  • viele verfügbare Bibliotheken im Add-on-Store
  • Erzeugung von Subworkflows zur Hierarchisierung
  • OCR
  • Logging
  • Testing (in UiPath Studio Pro)
  • SOAP, REST
  • C#/VB.NET für Implementierung von Code-Bestandteilen

Des weiteren gibt es viele Business-Anwendungen, für die vielfältige Aktivitäten für Prozessautomatisierungen existieren:

  • Microsoft Office Suite (Teams, PowerPoint Excel, …)
  • SAP, SAP S/4HANA
  • Citrix
  • Google Cloud Platform, Azure, AWS
  • Mainframe-Integration

Die geschriebenen Roboter können lokal auf der Maschine manuell oder auf einen Server über den UiPath-Orchestrator gestartet und verwaltet werden.

Beispiel Projekt

Prozess Excel & Webscraping & PowerPoint Integration

Dieser Zip-Ordner enthält alle notwendigen Projektdateien für das eigene Ausprobieren.

BPMN-Diagramm des Prozesses

Dieser Beispielprozess soll einige technische Möglichkeiten von UiPath vorstellen. Das entwickelte Projekt ist leicht fehleranfällig und soll lediglich zur Veranschaulichung und Einführung dienen.

Die Hauptaufgabe des Prozesses ist die Extraktion der Produktpreise aus einer Excel-Datei mit Produkten und den jeweiligen Produktlinks von verschiedenen Online-Shops. Danach soll eine PowerPoint Präsentation mit den neuesten Daten aktualisiert werden. Die dafür notwendigen Schritte sind:

  1. Öffne eine Excel-Datei. Der Pfad steht in der Variable „filePath“.
  2. Benutze das Excel-Blatt mit dem Titel „Tabelle 1“ und konvertiere die Daten in die UiPath spezifische Datenstruktur für Tabellen (DataTable).
  3. Für jede Zeile in der Tabelle: Nehme den Zelleninhalt der Spalte „otto_link“ und der Spalte „product“ und weise diese den Variablen „ottoLink“ und „productName“ zu.
  4. Öffne im Browser den Link des Produktes.
  5. Extrahiere den Preis in die Variable „priceOfArticle“.
  6. Update die PowerPointPräsentation durch Überschreibung eines Placeholder Textes mit dem aktuellen Preis.
Workflow Schritt 1 bis 3
Workflow Schritt 4

 

Workflow Schritt 5 bis 6

 

Fazit

RPA wird oft auch als Brückentechnologie beschrieben und genau das ist es auch. Die Technologie ist nützlich, um Systeme zu verbinden und Brücken zu bauen ohne zeitaufwendig Schnittstellen zu programmieren. Die erleichterte Programmierumgebung mit „Drag-and-Drop“ Prinzip ist nützlich für Business User, die selbst kleine alltägliche Prozesse automatisieren wollen. Durch die Vielzahl an Integrationsmöglichkeiten und vorgefertigten Lösungen sind wenige Programmierkenntnisse erforderlich. Gerade einfache Office Prozesse lassen sich leicht und schnell automatisieren.

Jedoch kann RPA nicht alles ersetzen, je komplexer das Programm oder die Schnittstelle wird, desto komplexer wird die Umsetzung und die Stabilität.  Es zeigen sich auf technischer Seite Schwächen in der Dokumentation und der Aktualität der Tutorials. Softwareentwickler werden gelegentlich Probleme bei der Entwicklung verspüren. Das „Drag-and-Drop“ Prinzip ist simpel, jedoch gibt es einzelne Aspekte, z.B. Webscraping, bei dem UiPath unterlegen ist. Extrahierte Daten von Elementen werden nicht immer in der gewünschten Form gespeichert. Es ergibt sich ein Mehraufwand der Transformation.

Quellen:

Hauptseite von UiPath: https://www.uipath.com/company/about-us

Installationshilfe: https://docs.uipath.com/installation-and-upgrade/lang-de/docs/studio-install-studio, Aufruf am 06.01.2022

Langmann, C. ; Turi, D.: Robotic Process Automation (RPA) – Digitalisierung und Automatisierung von Prozessen, Springer, 2021.

Jensen, A.: UiPath Beginners Course [2021] – How to Learn RPA, 14.02.2021, https://www.youtube.com/watch?v=sp5ZwFKfh-0, 06.01.2022

Tutorials: https://academy.uipath.com, Aufruf am 06.01.2022

Dokumentation: https://docs.uipath.com, Aufruf am 06.01.2022

Gavrilchik, D.: UiPath vs Automation Anywhere: which RPA platform deserves the crown?, 12.08.2021, https://www.itransition.com/blog/uipath-vs-automation-anywhere, 06.01.2022