Der Robotic Process Automation (RPA) Markt lässt sich in wenige große und viele kleine Anbieter grob aufteilen. Während Lösungen wie UiPath oder Automation Anywhere als Marktführer im RPA Bereich gelten, existiert auch eine Vielzahl kleinerer, dafür aber spezialisierterer Anbieter. Die RPA Lösung "e:Agent" der Kölner Firma meta:proc beispielsweise bietet Automatisierungen mithilfe verschiedenster Java Libraries und APIs für eine flexible Einbindung von Java-Funktionen.
Doch mittlerweile drängen auch vermehrt Non-Commercial Lösungen auf den Markt. Aber können diese auch mit professionellen Anbietern mithalten? Dieser Frage wollen wir in unserem heutigen Blogbeitrag nachgehen. Dazu haben wir wieder umfangreiche Recherchen gestartet und diverse Open-Source-Tools ausprobiert. Unsere Erfahrungen hierbei möchten wir gerne mit Ihnen und der RPA-Community teilen.

Emailsignatur-mit-code-und-hinweis-06-1

Unsere Kriterien für Open-Source RPA
Doch was macht eine gute RPA-Lösung aus? Um Produkte aus dem Open-Source Bereich bewerten zu können, müssen wir zunächst Kriterien festlegen, was Qualität im RPA-Umfeld für uns bedeutet. Hierbei haben wir uns für folgende Aspekte entschieden:

Deployment sowie Betriebssystem- und Browserunterstützung
Bei der Recherche stellte sich uns zunächst die Frage, in welcher Form die RPA-Lösung ausgeliefert wird: Cloud oder On-Premise? Anschließend betrachteten wir vor allem die Kompatibilität der einzelnen RPA-Anwendungen hinsichtlich Betriebssystem- und Browser-Unterstützung. Während manche Tools nur auf Windows ausgerichtet sind, laufen einige auch unter Mac OS oder Linux. Ähnlich verhält es sich mit der Browserunterstützung: Neben einer nahezu durchgehenden Kompatibilität mit Google Chrome bieten manche Tools auch eine Integration von Firefox oder Internet Explorer an.

Integrierte Programmiersprachen
Ein weiteres Qualitätsmerkmal ist der Umfang der unterstützten Programmiersprachen. Viele Open-Source RPA Lösungen greifen auf Standardkomponenten zurück, wie beispielsweise dem Auslesen einer Excel-Datei. Beinhalten Prozesse jedoch individuellere Teilschritte, kommen Standardkomponenten schnell an ihre Grenzen. Aus diesem Grund bieten gute RPA-Lösungen die Möglichkeit, eigene Komponenten mithilfe entsprechender Programmiersprachen zu entwickeln und einzubinden.

use-case-letter--02_640

Multi-Client Unterstützung
Neben den oben genannten Aspekten haben wir zudem den Umfang der Features der einzelnen RPA-Anwendungen untersucht. Insbesondere im Bereich "Enterprise-RPA" spielt beispielsweise Multi-Client-Unterstützung eine zentrale Rolle. Während einfache RPA-Lösungen lediglich einen Bot lokal auf einem Client laufen lassen können, bieten andere Tools eine Remotesteuerung mehrerer Software-Roboter auf unterschiedlichen Clients an - So kann man denselben Bot auf mehreren Computern gleichzeitig laufen lassen.

Integrierte Bilderkennung
Ein weiteres zentrales Element von RPA-Lösungen ist die Integration einer Bilderkennung in die Prozesse. Dies ist insbesondere bei der Bedienung von grafischen Oberflächen durch den Roboter von zentraler Bedeutung. Mithilfe von Screenshots ist es so möglich dem Bot zu sagen, wo er klicken muss oder Text eingeben soll. Während dies in kommerziellen RPA-Produkten quasi zum Standard gehört, bieten leider nicht alle Open-Source Tools diese grundlegende Funktionalität an.

XPath Unterstützung
Beim Aspekt grafische Benutzeroberflächen spielen auch Browser wiederum eine bedeutende Rolle. Neben der Möglichkeit, sich auf Webseiten mithilfe von Bildern zu bewegen, gibt es häufig eine deutlich zuverlässigere Möglichkeit: Oft bieten Open-Source Tools die Möglichkeit, den Bot auf der Basis von XPath durch die Seiten zu manövrieren und so mit diesen zu interagieren. XPath steht für XML Path Language und ist eine vom W3-Konsortium entwickelte Abfragesprache, die XML-Dokumente auswerten kann.

Recording
Ein weiteres Feature, das insbesondere die Programmierung eines Bots deutlich vereinfacht, sind Recording-Funktionen. Durch eine Aufnahmefunktion können Sie verhältnismäßig einfache Aufgaben eines Bots lediglich einmal selbst händisch durchführen. Die Aufnahme dieser Tätigkeiten wird anschließend durch das Open-Source Tool automatisch in RPA-Komponenten umgewandelt. Somit entfällt für Sie viel Programmierarbeit. Aus diesem Grund stellt das Vorhandensein von Recording-Funktionen ein entscheidendes Kriterium für die Bewertung von Open-Source-RPA-Lösungen dar.

Trigger
Was den Start von Software-Robotern betrifft, so unterscheiden sich die RPA-Tools deutlich in Umfang und Programmierbarkeit sogenannter „Trigger“. Während manche Tools lediglich auf einen Scheduler zum regelmäßigen Start des Prozesses zurückgreifen können, bieten ausgereiftere Systeme beispielsweise die Möglichkeit auf Änderungen an Dateien oder Ordnern zu reagieren oder aber vollkommen neue Trigger zu implementieren.

Support
Der letzte untersuchte Aspekt ist der angebotene Support. Kommerzielle Lösungen beinhalten in der Regel eine vertraglich zugesicherte Unterstützung der Anwender. Hierdurch soll zudem der kontinuierliche Einsatz und die Weiterentwicklung der RPA-Lösung gewährleistet sein. Doch wie sieht es im Open-Source Bereich aus? Wie stark ist die Community hinter einem Open-Source Projekt und wie gut kann ich im Zweifelsfall Hilfe erhalten? Auch hier haben wir deutliche Unterschiede zwischen den einzelnen Tools festgestellt.

Open Source RPA Tools
Im Rahmen unserer Recherche haben wir uns insbesondere mit drei frei verfügbaren RPA-Lösungen beschäftigt: Open RPA, RoboIntern sowie TagUI.

tagui-logo

TagUI ist eine Lösung der National Research Foundation mit Sitz in Singapur. Diese hat das RPA-Tool im Rahmen des Programms "AI Singapore" entwickelt und anschließend unter dem Motto "RPA for anyone" als Open-Source Anwendung veröffentlicht.

Das als On-Premise-Lösung konzipierte Tool läuft ausschließlich auf der Kommandozeile und unterstützt daher auch alle gängigen Betriebssysteme. Neben der Ausführung unter Windows sind somit die Automatisierungsskripte auch problemlos unter Mac OS oder Linux lauffähig.

Dafür ist TagUI hinsichtlich seiner Browserunterstützung deutlich eingeschränkt. Mit einer ausschließlichen Integration von Google Chrome bietet die RPA-Lösung hier sehr wenig Flexibilität im Hinblick auf die Wahl des bevorzugten Internetbrowsers.

Da bei der Entwicklung mit TagUI ausschließlich die Kommandozeile verwendet wird, existiert auch keine grafische Oberfläche. Somit lassen sich Standardkomponenten, wie beispielsweise von UiPath gewohnt, nicht einfach in den Prozess ziehen und einbinden. Stattdessen bietet TagUI eine eigene, menschenähnliche Sprache, die sich in das restliche Skript einbinden lässt. So gibt es beispielsweise den Befehl “Click”, welcher den Bot auf beliebige Elemente klicken lässt. Kombiniert werden kann diese TagUI-eigene Sprache mit weiteren Programmiersprachen. Das Einbinden von Python und Javascript sowie das auf Statistik spezialisierte "R" in das Automatisierungsskript ist ebenfalls möglich.

Da TagUI als On-Premise Anwendung auf einem bestimmten Rechner installiert wird, kann dieser nicht mit weiteren Clients im Rahmen der RPA-Lösung kommunizieren. Eine Multi-Client Unterstützung, wie sie insbesondere bei vollwertigen Enterprise Lösungen oftmals enthalten ist, existiert bei TagUI somit nicht.

Hinsichtlich der Navigation auf grafischen Oberflächen bietet die RPA-Lösung sowohl eine Bilderkennung als auch XPath-Unterstützung für Browser an. Dabei bedient sich TagUI der Open-Source Bilderkennungssoftware Sikulix, die auch in einigen kommerziellen Lösungen wie beispielsweide dem e:Agent der Firma Metaproc verwendet wird. In unserem Test fiel uns auf, dass diese Navigationshilfen auch dringend gebraucht werden, da leider keine Recording Funktionen für ein einfaches Nachstellen der Nutzerführung vorhanden sind.

Hinsichtlich der Trigger, die den Bot automatisch nach einem bestimmten Event starten lassen, ist TagUI leider ebenfalls stark beschränkt. So bietet das Tool zum aktuellen Zeitpunkt nur einen Scheduler an, der den Bot in regelmäßigen Zeitabständen starten lässt. Weitergehende Trigger oder auch eine Möglichkeit zur Implementierung eigens entwickelter Startmechanismen sind nicht vorhanden.

Als letztes Kriterium zur Bewertung von TagUI bleibt noch der Support sowie die Community rund um das Open-Source Projekt: Hier bietet die National Research Foundation, ein eigenes Forum für Fragen aller Art rund um Ihre RPA Lösung an. Zudem hat sich mittlerweile auch eine breitere Community rund um das Tool gebildet, das aktuell bereits in der Version 6 aufwartet. Diese Community entwickelt die Anwendung auch weiter. So wurden beispielsweise Bedienhilfen für die Codierung der Kommandozeilenbefehle integriert, welche als Erweiterung frei zum Download verfügbar sind.

Fazit
TagUI ist eine Open-Source RPA Lösung mit eingeschränktem Funktionsumfang. Obwohl eine Vielzahl an Programmiersprachen eingebunden werden kann und auch die Navigationsmöglichkeiten für den Bot zu überzeugen wissen, stellt TagUI leider keine vollwertige Alternative zu kommerziellen RPA Tools dar. Das liegt insbesondere an der mangelnden Multi-Client Unterstützung und den stark eingeschränkten Trigger-Möglichkeiten. Darüber hinaus erschwert die Beschränkung auf Konsolenbefehle ohne grafische Oberfläche den Einstieg in das Thema erheblich. Nichtsdestotrotz können wir TagUI insbesondere Liebhabern von Shellskripten ans Herz legen. Wer einfache Prozesse ohne große Anforderungen automatisieren will und nicht vor der Kommandozeile zurückschreckt, der ist mit TagUI sicher gut bedient.

In unserem nächsten Blogbeitrag geht es weiter mit unserer Reihe zu Open Source RPA Lösungen. Insbesondere werden wir uns dort mit den Tools "RoboIntern" sowie "Open RPA" beschäftigen.