Nachdem wir uns im vorherigen Beitrag mit der Automatisierung von Aufgaben in Prozessen mit Process und Rule Engines beschäftigt haben, steht in diesem Beitrag die Robotic Process Automation, kurz RPA genannt, im Vordergrund. Ich werde zunächst eine kurze Einführung zu RPA geben, bevor ich dann Anwendungsfälle für den Einsatz von Softwarerobotern vorstelle und auf die damit verbundenen Herausforderungen eingehe. Danach beleuchte ich die verschiedenen Möglichkeiten Softwareroboter zu konstruieren und gebe einen Ausblick auf mögliche Weiterentwicklungen von RPA.
Softwareroboter im Prozessmanagement
In Produktionssystemen verrichten Roboter schon länger Aufgaben zur räumlichen oder physischen Transformation von Objekten in Produktionsprozessen von Unternehmen. Beispielhaft seien Produktionsprozesse in der Automobilindustrie genannt, aus denen diese Roboter nicht mehr wegzudenken sind. Relativ neu sind hingegen sogenannte Softwareroboter, die Tätigkeiten nicht an physischen, sondern an Informationsobjekten vornehmen.
Abb.1: Roboter (Quelle: Iconicbestiary - Freepik.com)
Dies tun alle anderen Arten von Softwaresystemen auch. Was aber ist nun der Unterschied zu Softwarerobotern? Roboter ahmen menschliche Arbeitsabläufe zur Manipulation von Objekten nach. Bei der Transformation von physischen Objekten kommen sie überall dort zum Einsatz, wo sie menschliche Arbeiten effizienter oder mit höherer Qualität durchführen können oder wo der Einsatz menschlicher Arbeitskraft zu gefährlich wäre. Eine weitere Voraussetzung ist, dass ein Einsatz anderer Arten von Maschinen, bspw. von NC (Numerical Control)- oder CNC (Computerized Numerical Control)-Maschinen oder auch flexiblen Fertigungssystemen nicht möglich oder nicht wirtschaftlich wäre.
Ähnliches gilt für Softwareroboter: Sie ahmen menschliche Arbeitsabläufe an Informationsobjekten nach und kommen überall dort zum Einsatz, wo der Einsatz anderer Formen der Automatisierung wirtschaftlich nicht sinnvoll oder schlichtweg nicht möglich ist. Sie automatisieren Teile von Geschäftsprozessen und weisen daher einen engen Bezug zum Prozessmanagement eines Unternehmens auf.
Gegenüber dem Einsatz menschlicher Arbeitskraft hat der Einsatz von Robotern die Vorteile, die üblicherweise mit einer Automatisierung einher gehen: Variable Kosten einer Aufgabenbearbeitung können signifikant reduziert, Bearbeitungszeiten verkürzt und die Qualität der Arbeitsergebnisse erhöht werden. Auch lassen Sie sich mit den Entwicklungswerkzeugen der RPA-Plattformen vergleichsweise schnell und mit geringem Programmieraufwand erstellen.
Konkrete Anwendungsfälle und Herausforderungen
Was sind nun die typischen Anwendungsfälle für den Einsatz von Robotern? Oft kommen sie zum Einsatz, wenn zwei IT-Systeme nicht durch Schnittstellen integrierbar sind, sei es, weil einer der Schnittstellenpartner dies nicht zulässt oder aber die Integration durch Softwareroboter wirtschaftlicher wäre. Der Roboter „liest“ die Daten aus Masken des einen Systems und überträgt sie in Masken des anderen Systems. Dabei kann der Roboter auch vorher spezifizierte Regeln einsetzen, um die Daten zu transformieren. Roboter sind im Gegensatz zur Integration mit Schnittstellen unabhängig von den Technologien der IT-Systeme, die sie integrieren bzw. unabhängiger von einer im Einsatz befindlichen Integrationsplattform.
Welche Herausforderungen bestehen beim Einsatz von Softwarerrobotern? Zunächst einmal bedingt der Einsatz von Softwarerobotern die Anschaffung und Bereitstellung einer RPA-Plattform. Derer gibt es nicht wenige, Anbieter sind bspw. UIPath, Blue Prism, Automation Anywere oder KOFAX, um nur einige Beispiele zu nennen. Eine der Herausforderungen ist somit zunächst die Durchführung einer Softwareauswahl, basierend auf den Anforderungen des Unternehmens.
Eine weitere Herausforderung liegt in der Governance bei der Entwicklung und dem Einsatz von Softwarerrobotern. Letztlich sind diese Programme, die einem geordneten Entwicklungs-, Release- und Supportprozess unterliegen sollten. Oftmals wird dies vernachlässigt und „mal eben“ ein Roboter an der IT vorbei entwickelt. Dies führt jedoch oft zu einem Wildwuchs mit all den damit verbundenen Problemen wie fehlender Dokumentation, fehlendem Überblick über die im Einsatz befindlichen Roboter bis hin zu einem Einsatz bei Anwendungsfällen, für die diese gar nicht geeignet sind oder eine andere Automatisierungslösung wirtschaftlicher wäre.
Eine dritte Herausforderung liegt im Aufbau einer Rechteverwaltung für Roboter. Diese ahmen menschliche Arbeitsabläufe an Masken nach und müssen daher die benötigten „Benutzer“-Rechte und ggf. auch eigene Rollen bekommen.
Entwicklung von (Software-)Robotern
Ausgangspunkt für die Entwicklung von Softwarerobotern sind für uns die Geschäftsprozesse eines Unternehmens. Aus diesen können automatisierbare Aufgaben abgeleitet werden. Wie bereits oben erwähnt, werden mit Softwareroboter nur Teile, nicht aber ganze Geschäftsprozesse automatisiert. Die Bezeichnung RPA ist hier etwas irreführend.
Für die Entwicklung von Softwarerrobotern stehen drei Verfahren zur Verfügung: grafisch interaktiv, Teach-in und Programmierung mit einer Programmiersprache. Dieselben Verfahren stehen übrigens auch für die Entwicklung von Robotern für Produktionsprozesse zur Verfügung.
Bei der grafisch-interaktiven Entwicklung werden vordefinierte Elemente aus einem Baukasten visuell zu einem Ablauf zusammengesetzt. Typische Elemente sind bspw. Workflows, Sequenzen, Entscheidungen oder Schleifen, wie man sie auch aus Programmiersprachen kennt.
Beim Teach-in-Verfahren werden führt ein menschlicher Benutzer die Arbeitsabläufe am System durch und die RPA-Entwicklungsumgebung zeichnet diese auf. Danach kann der Roboter den aufgezeichneten Arbeitsablauf, aber auch nur genau diesen, selbständig durchführen.
Abb.2: Grafisch-interaktive Entwicklung von Robotern, Beispiel UIPath
Bei der Entwicklung mit Programmiersprachen kommen herkömmliche Programmiersprachen zum Einsatz, mit denen die Funktionen eines Roboters beschrieben werden. Alle drei Verfahren können auch in Kombination eingesetzt werden.
Ausblick
Aktuell ist der Trend zu beobachten, dass RPA-Plattformen mehr und mehr Technologien aus dem Bereich der künstlichen Intelligenz (KI) integrieren. Diese Tatsache könnte in zwei Richtungen interessant sein: Roboter können Technologien der KI für die Verarbeitung von Daten nutzen, zum anderen könnten Roboter aber auch durch Beobachtung menschlicher Eingaben am realen System „lernen“. Letztlich würde es sich um eine Erweiterung der Teach-in-Verfahren handeln. Mit Technologien der künstlichen Intelligenz beschäftigt sich auch der nachfolgende Beitrag unserer Blogserie.
Das könnte Sie auch interessieren:
Intelligente Automatisierung: Der Start in die Zukunft!
Prozesse intelligent automatisieren mit der Process Engine
MID Blog Newsletter abonnieren