Die RPA-Plattform UiPath und ihre Möglichkeiten

Robotic Process Automation: Praktische Beispiele für RPA mit UiPath
Keine Kommentare

Heutige Unternehmen verfügen über hunderte oder gar tausende individuelle Businessprozesse. Zur Automatisierung dieser teils hochkomplexen Prozesse mittels Robotic Process Automation (RPA) bedarf es einer leistungsstarken Prozessplattform. In diesem Artikel wird die RPA-Plattform UiPath mit ihren Möglichkeiten praxisnah vorgestellt.

Die softwaregestützte Automatisierung von Prozessen mit Robotic Process Automation scheint für viele Unternehmen die Antwort auf den Fachkräftemangel und einen immer stärker werdenden Kostendruck zu sein. So vielversprechend und einfach die Technologie klingt, bietet sie jedoch einige Fallstricke und Herausforderungen. Um RPA erfolgreich im Unternehmen zu verankern und maximale Akzeptanz zu schaffen, ist es wichtig, mit Vorurteilen aufzuräumen und die Einführung so transparent wie nur möglich zu gestalten.

Liest man in den Medien von RPA, werden in diesem Zusammenhang oftmals Ängste geschürt. Robotic Process Automation gilt als der ultimative Jobkiller und erfreut sich daher bei Mitarbeitern nicht unbedingt großer Beliebtheit. Um diesem Vorurteil entgegenzutreten, gilt es vor allem, die Vorteile und Chancen der Technologie aufzuzeigen. Dazu gehört unter anderem die Entlastung der Mitarbeiter bei monotonen und repetitiven Tätigkeiten. Das verschafft den Mitarbeitern in Zukunft mehr kreative Freiräume für die Lösung komplexer Problemstellungen und hilft, den Fokus auf die Kernaufgaben der Tätigkeit zu legen. Einfache, wiederholbare Tätigkeiten werden hingegen durch den Softwareroboter erledigt.

In einer Forrester-Studie gaben 66 Prozent der Unternehmen, die RPA einsetzen, an, dass bestehende Arbeit neu strukturiert werden konnte und die Mitarbeiter nun mehr menschliche Interaktionen durchführen. Statt die lästigen Aufgaben selbst auszuführen, betreuen sie ihre virtuellen Kollegen und prüfen die Qualität der Arbeit. Dadurch erfolgt eine Verschiebung der tatsächlichen Arbeit von stupiden hin zu wertschöpfenden Tätigkeiten.

Fällt die Entscheidung zur Automatisierung eines unbeliebten Prozesses mit einer hohen Sichtbarkeit, kann das dazu beitragen, die Akzeptanz von robotergestützter Prozessautomatisierung bei den Mitarbeitern zu steigern. Dabei kann es sich zum Beispiel um einen Prozess handeln, bei dem ein Mitarbeiter verschiedene Applikationen bedienen muss oder Informationen von einer Applikation in eine andere kopiert. Ebenfalls beliebt sind Dateisystemoperationen oder das manuelle Pflegen einer Excel-Liste mit Informationen aus unterschiedlichen Datenquellen. Das erste Automatisierungsprojekt sollte also einen möglichst einfachen, gut dokumentierten und wenig fehleranfälligen Prozess adressieren.

BASTA! Spring 2020

Dr. Holger Schwichtenberg

Von .NET Framework zu .NET Core migrieren oder nicht migrieren, das ist hier (nicht die einzige) Frage!

mit Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

Rainer Stropek

C#-8- und .NET-Core-3-Workshop

mit Rainer Stropek (software architects/www.IT-Visions.de)

Adrienne Tacke

Azure Automation: The Good Parts

mit Adrienne Tacke (Adrienne Tacke)

Auch wenn es sich um einen gut sichtbaren Prozess handeln sollte, ist es ratsam, einen nicht businesskritischen Prozess zu wählen. Denn scheitert das erste Projekt und richtet zudem noch einen finanziellen oder reputativen Schaden an, wird dies das weitere Automatisierungsvorhaben erheblich erschweren. Die daraus resultierende Unsicherheit und Grundskepsis können ein Unternehmen in die gedankliche Automationssteinzeit zurückversetzen. Die Auswahl des richtigen Prozesses ist somit ein elementarer Erfolgsfaktor.

Die Umsetzung kann sowohl mit externer Verstärkung als auch mit rein internen Ressourcen erfolgen. Das Hinzuziehen eines externen Implementierungspartners oder eine Beratung ersetzt jedoch nicht die Notwendigkeit, ein internes RPA-Team aufzubauen. Häufig wird dieses Automationsteam in Form eines Centers of Excellence aufgebaut, was zahlreiche Vorteile bietet: Das Team arbeitet an der gesamtheitlichen Automatisierungsstrategie, priorisiert Automatisierungsanfragen und sorgt für eine regelkonforme Implementierung und Inbetriebnahme der Prozesse. Dadurch, dass Automationsanfragen und Ideen zentral zusammenlaufen, können Synergieeffekte identifiziert und die Effizienz kann erhöht werden.

Auf die Strategie kommt es an

Neben dem Aufbau des Automationsteams ist das Vorhandensein einer langfristigen Automatisierungsstrategie erfolgsentscheidend. Denn hat ein Unternehmen mit dem Einsatz von RPA begonnen und konnte der erste Leuchtturm platziert werden, dauert es erfahrungsgemäß nicht lange, bis sich weitere Prozesse für eine potenzielle Automatisierung auftun. Gerade für den Anfang hat es sich bewährt, dass Automatisierungsideen aus den verschiedenen Unternehmensbereichen beim Center of Excellence eingereicht und dort auf die Sinnhaftigkeit der Automatisierung, technische Machbarkeit sowie Wirtschaftlichkeit bewertet werden. Denn in der Realität lassen sich nur etwa 20 bis 30 Prozent der eingebrachten Ideen tatsächlich sinnvoll umsetzen.

Eine Automatisierungsstrategie kann dabei helfen, diese Prozesse zu identifizieren und vor allem zu priorisieren. Die Priorisierung kann sich auch in einer Roadmap für die Automatisierung niederschlagen. Eine Roadmap mit einem Ausblick auf Einsparpotenziale kann das Management zudem dabei unterstützen, Ausgaben für die Prozessautomatisierung zu rechtfertigen.

Eine fehlende Strategie wird nicht zwangsläufig zum Scheitern des ersten Projekts führen, mittelfristig benötigt die Automatisierung aber eine klare Leitlinie. Üblicherweise ist es nicht mit der einmaligen Entwicklung eines Prozesses getan. Sowohl Prozesse als auch Applikationen unterliegen einem stetigen Wandel, deshalb ist sicherzustellen, dass Tool- oder Prozessänderungen mit RPA-Implementierungen abgeglichen werden, um notwendige Anpassungen frühzeitig einplanen zu können. Ebenso ist eine regelmäßige Bewertung hinsichtlich der Aktualität von Prozessen vorzunehmen, denn auch Prozesse unterliegen einem Lifecycle. Bewährt hat sich, diese Themen in einem Governance-Board mit den notwendigen Stakeholdern zu diskutieren. Genauso wichtig wie eine frühzeitige Kommunikation und Einbindung der Mitarbeiter ist das Involvieren der IT-Abteilung zu einem möglichst frühen Zeitpunkt.

Zwar ist das Business üblicherweise der Treiber für Automatisierungsprojekte und nicht die IT, aufgrund der Notwendigkeit einer Einbeziehung ist es jedoch durchaus empfehlenswert, das Gespräch proaktiv und möglichst am Anfang des Automationsvorhabens zu suchen. Denn bei der Implementierung von RPA gibt es einige Punkte, bei denen die Unterstützung der IT-Abteilung notwendig ist oder zumindest hilfreich sein kann. Beispielsweise wird die Plattform üblicherweise durch die IT oder zumindest mit der Unterstützung der IT bereitgestellt und betrieben. Auch beim Bereitstellen der einzelnen virtuellen Umgebungen für die Roboter ist die Unterstützung der IT erforderlich. Das kann allein schon dadurch begründet sein, dass die Lizenzbeschaffung und ihre Verwaltung oftmals in der IT beheimatet sind.

Gibt es im Unternehmen einen Sicherheitsbeauftragten oder eine Abteilung, die sich mit diesem Themenbereich beschäftigt, sollte auch sie in das Vorhaben miteinbezogen werden. Fühlt sich jemand der Beteiligten nicht abgeholt oder in seinen Befindlichkeiten verletzt, kann das zu unnötigen Verzögerungen bei der Einführung von RPA führen.

Ein weiteres wichtiges Erfolgskriterium ist die Wahl der richtigen Plattform. Ein ausschlaggebendes Merkmal ist beispielsweise die einfache Entwicklung der Prozesse mittels Drag-and-Drop-Funktionalität. Denn die Automatisierung soll primär durch die Fachabteilungen getrieben werden. Eine RPA-Plattform unterstützt die Mitarbeiter optimal dabei, wenn sie die Prozesse ohne jegliche Programmierkenntnisse einfach zusammenklicken können. Im Rahmen einer Automatisierungsstrategie werden nicht nur Roboter benötigt, die im Hintergrund direkt auf den Servern agieren und dort Prozesse rund um die Uhr abarbeiten (unattended), sondern ebenso persönliche Assistenten, die den Mitarbeiter unmittelbar bei der Erledigung von Prozessen unterstützen (attended). Diese Unterstützung kann durch ein bestimmtes Ereignis oder direkt durch den Mitarbeiter angestoßen werden. Durch diese Art der Unterstützung spart der Mitarbeiter wertvolle Zeit und kann sich auf wertschöpfende Tätigkeiten konzentrieren. Diese Form der Zeitersparnis wird häufig als Focus Time bezeichnet.

Für die Prozesse, die durch unattended RPA bearbeitet werden, sollte die Plattform in der Lage sein, diese Prozesse übergreifend zu orchestrieren und beliebig zu skalieren, denn üblicherweise starten Unternehmen nicht direkt mit hunderten von Robotern sondern zunächst mit einigen wenigen. Es ist jedoch nicht unüblich, dass eine RPA-Umgebung mit ihren Robotern bald exponentiell wächst. Um die Übersicht auch bei einer schnell gewachsenen Umgebung nicht zu verlieren, ist eine zentrale Administration äußerst wichtig. Sie erlaubt es zum Beispiel, zentrale Updates für oder Wartungen an den automatisierten Prozessen vorzunehmen. Denn wer möchte schon manuell ein Update eines Prozesses auf einer beliebig großen Anzahl von virtuellen Maschinen vornehmen? Eine zentrale Plattform kann auch bei einer globalen Governance unterstützen. Die Qualität der Prozesse muss durch regelmäßige Reviews und Auswertungen von Logs gesichert und stetig verbessert werden. Ebenso ist eine aktive Benachrichtigungsfunktion für Process Owner von Vorteil, die sie regelmäßig über die Ausführungsergebnisse informiert.

Um auch Prozesse zu automatisieren, in deren Verlauf Entscheidungen getroffen werden müssen, sollte eine RPA-Plattform einfache Möglichkeiten bieten, KI-Services in die Prozesse zu integrieren. Mit diesen Erweiterungen ist es dann zum Beispiel möglich, eingehende E-Mails automatisch zu klassifizieren und basierend auf dem Inhalt automatisch an eine bestimmte Abteilung weiterzuleiten oder direkt durch den Softwareroboter bearbeiten zu lassen. Eine der führenden Plattformen im RPA-Umfeld ist UiPath. Diese Plattform wird im Rahmen dieses Artikels noch näher beleuchtet werden.

Die Identifikation RPA-geeigneter Prozesse

Robotic Process Automation lässt sich in nahezu jeder Branche und jedem Unternehmensbereich einsetzen. Hierzu zählt sowohl die Unterstützung bei der Durchführung klassischer HR-Prozesse, wie etwa der Mitarbeiterrekrutierung, als auch der Einsatz in herkömmlichen IT-Prozessen, wie beispielsweise dem Software-Deployment oder in Konfigurationsszenarien. Die Identifikation der Prozesse beginnt oftmals mit dem sogenannten Process Mining. Hierbei werden Teilprozesse über verschiedene Systeme und Tools zu Prozessketten zusammengesetzt, um Transparenz über den gesamten Ablauf zu erhalten.

Jedoch ist nicht unbedingt jeder Prozess für die Automatisierung mittels RPA geeignet. Es gibt einige Attribute, anhand derer entschieden werden kann, wie sinnvoll und wirtschaftlich eine Automation tatsächlich ist. Zunächst sollte es sich um Prozesse handeln, die sich durch ein hohes Ausführungsvolumen auszeichnen. Eine Tätigkeit, die einmal im Jahr von einem Mitarbeiter oder einer Mitarbeiterin verrichtet wird, lässt sich in der Regel nicht wirtschaftlich und sinnvoll automatisieren.

Gleiches gilt für Prozesse mit einer hohen Varianz in der Durchführung oder häufigen Änderungen im Prozessfluss selbst. Fehleranfällige und schlecht oder gar nicht dokumentierte Prozesse sollten zunächst einer Lean-Process-Transformation unterzogen werden, bevor sie mittels RPA automatisiert werden; sie eignen sich nicht unbedingt als Testballon. Denn der Einsatz von RPA kann Fehler im Prozess nicht kompensieren und führt in solchen Fällen automatisch zu schlechten Ergebnissen. Folgt der Prozess einem klaren und vor allem standardisierten Regelwerk, ist er meist RPA-Kompatibel. Eine weitere Grundvoraussetzung für die Prozessautomatisierung mit RPA ist, dass die zu verarbeitenden Daten in einem maschinenlesbaren Format wie etwa Excel, Word oder PDF vorliegen – in jedem Fall müssen sie aber digital sein. Liegen Dokumente in Papierform vor, ist es zunächst erforderlich, sie zu digitalisieren.

Hierfür kann es unter Umständen notwendig sein, zusätzliche Technologien wie etwa Optical Character Recognition (OCR) oder AI einzusetzen, um die Informationen so aufzubereiten, dass sie sich im automatisierten Prozess verwenden lassen. Grade für das Erlernen des Umgangs mit RPA ist es wichtig, am Anfang Prozesse für die Automatisierung zu wählen, die möglichst viele Grundvoraussetzungen erfüllen. Ein Hilfsmittel für die Auswahl kann die in Abbildung 1 dargestellte Kompatibilitätsmatrix sein.

Abb. 1: Unterstützungsmatrix für die Identifikation RPA-geeigneter Prozesse

Abb. 1: Unterstützungsmatrix für die Identifikation RPA-geeigneter Prozesse

Die verschiedenen Prozessmerkmale wie etwa Fehleranfälligkeit, Häufigkeit der Änderungen oder die mit dem Prozess verbundene Höhe des Durchführungsaufwands werden nach einem Punktesystem bewertet. Drei Punkte bedeuten, dass das Kriterium bestmöglich erfüllt ist, ein Punkt deutet auf Anpassungsbedarf hin. Im direkten Vergleich schneidet Prozess B etwas besser ab als Prozess A und wäre somit ein geeigneterer Kandidat für den Einsatz von RPA. Prozess A hingegen müsste nochmal etwas detaillierter betrachtet werden und könnte aufgrund der hohen Änderungshäufigkeit am Prozess für die erste Automatisierungsphase gänzlich ausscheiden.

Da der Prozess sich aber durch einen hohen manuellen Aufwand mit stark wiederholbaren Tätigkeiten auszeichnet, kann es durchaus sinnvoll sein, diesen zu einem späteren Zeitpunkt erneut zu betrachten und die Ursache für die häufigen Prozessänderungen detaillierter zu untersuchen. Das Aufstellen einer Wirtschaftlichkeitsbetrachtung mit der Gegenüberstellung des einzusparenden Full Time Equivalent (FTE) und der Kosten, die für die Wartung und Prozessanpassungen anfallen, kann bei der Entscheidung, ob die Automatisierung lohnend ist oder nicht, helfen.

Einführung in die UiPath-Plattform

Bei der UiPath-Plattform handelt es sich um eine der führenden Softwarelösungen für die Implementierung von Robotic Process Automation, die sich perfekt in eine bestehende Systemlandschaft integrieren lässt. Im Vergleich zu anderen am Markt verfügbaren Produkten werden sowohl die Frontoffice- als auch Backofficeautomatisierung unterstützt. Einen weiteren Trumpf kann UiPath bei der Automation von Prozessen in virtuellen Umgebungen wie etwa Citrix ausspielen. Hierbei besteht die Herausforderungen vor allem darin, dass der Citrix-Virtualisierungsserver nur Screenshots der laufenden Live-Anwendungen an die Clients übermittelt. Das Ansprechen einzelner Elemente wie etwa einem Eingabefeld oder Button, ist deshalb eigentlich nicht möglich. UiPath nutzt zur Lösung dieses Problems eine leistungsstarke Computer Vision Engine. Das ist ein Bildverarbeitungsalgorithmus, der in der Lage ist, innerhalb weniger Millisekunden Elemente auf Bildern zu identifizieren und zu bedienen.

Die UiPath-Plattform besteht im Wesentlichen aus drei Komponenten: dem UiPath Studio, dem Orchestrator, sowie dem Roboter. Bei UiPath Studio handelt es sich um ein leistungsstarkes Werkzeug für die Entwicklung von Workflows. Mit der Desktopapplikation können Prozesse mittels vordefinierter Aktionen relativ einfach dank Drag-and-Drop-Funktionalität zusammengeklickt werden. Der große Vorteil eines grafischen Editors im Vergleich zu einer reinen Programmierumgebung besteht darin, dass der Prozess direkt in visueller Form vorliegt und somit einfacher verstanden werden kann. Vorgefertigte Elemente existieren für nahezu alle Standardbenutzerinteraktionen wie etwa einen einfachen Klick, Doppelklick, Copy/Paste und Dateisystemoperationen (Abb. 2).

Abb. 2: Oberfläche von UiPath Studio

Abb. 2: Oberfläche von UiPath Studio

Darüber hinaus werden applikationsspezifische Automatisierungsaktionen angeboten, die vor allem bei der SAP- und Office-Automatisierung eine erhebliche Erleichterung darstellen können. Ist es in einem Prozess beispielsweise erforderlich, ein Worddokument zu editieren, kann das in zwei unterschiedliche Varianten passieren. Die klassische Vorgehensweise orientiert sich am Vorgehen des Benutzers. Der würde zunächst die Word-Applikation öffnen, um anschließend an einem Dokument zu arbeiten. Somit wäre es durchaus legitim, diese Aktionen in einer Oberflächenautomatisierung abzubilden. Eine valide Alternative stellen jedoch die Word-spezifischen Automatisierungsaktionen dar. Sie können für den XML-basierten Standard angewendet werden und sind in der Lage, ein Dokument zu bearbeiten, ohne dass ein Öffnen der Word-Applikation erforderlich ist.

Diese Vorgehensweise bietet mehrere Vorteile; zunächst einmal ist eine Installation von Office bzw. Microsoft Word auf dem Client nicht erforderlich, es wird auch keine Lizenz benötigt. Zudem funktioniert die direkte Bearbeitung wesentlich schneller als die Bearbeitung über die Oberfläche. Vor allem in Szenarien mit einem hohen Volumen an zu bearbeitenden Dokumenten kann sich der Zeitvorteil deutlich bemerkbar machen. Die einzelnen Aktionen bieten eine Vielzahl von Einstellungsmöglichkeiten. So lassen sich zum Beispiel Timeouts, die Anzahl der Wiederholungen im Fehlerfall oder gar das Verhalten im Fehlerfall detailliert konfigurieren. Bestimmte Aktionen erlauben zusätzlich die Evaluierung von VB.NET-Code, was für immense Flexibilität sorgt.

Eine noch schnellere und einfachere Möglichkeit des Prozessdesigns bieten die verschiedenen Recorder für Desktop-, Web- und Citrix-Applikationen. Wird die Aufnahmefunktion gestartet, so läuft sie im Hintergrund und zeichnet die ausgeführten Einzelaktionen auf. Im Ergebnis erstellt die Software einen Flow, bestehend aus Einzelaktionen, die sich anschließend weiterbearbeiten lassen. Die Recorder-Funktionen für Desktop und Web sind sowohl hinsichtlich der Funktion als auch der Bedienbarkeit ähnlich. Der Desktop-Recorder eignet sich hervorragend für das Aufzeichnen von Aktionen in einer Desktopapplikation. Mit dem Web-Recorder wird die Aufzeichnung von Aktionen in einem Web-Browser ermöglicht. Für übergreifende Aktionen lässt sich der sogenannte Basic-Recorder verwenden, der jedoch nicht so performant ist wie die spezialisierten Recorder-Typen.

Für die Aufzeichnung einer Prozessabfolge in einer virtuellen Umgebung, wie zum Beispiel Citrix, bietet sich der Citrix-Recorder an. Der ist äquivalent zum Desktop-Recorder jedoch für die Verwendung in virtuellen Umgebungen optimiert. Das Herzstück der UiPath-Plattform stellt der Orchestrator dar. Hierbei handelt es sich um eine Webanwendung zur Orchestrierung der Roboter. Sie lässt sich entweder klassisch On-Premises installieren oder als Cloud-Service nutzen. Die Orchestrator-Komponente erlaubt die zentrale Erstellung, Überwachung und Bereitstellung von Ressourcen in der Umgebung.

Nach der Entwicklung eines Prozesses mit UiPath Studio wird er auf den Orchestrator deployt. Im Fall einer Entwicklungsumgebung kann die Bereitstellung unmittelbar vom Studio auf den Orchestrator erfolgen. Üblicherweise erfolgt die Auslieferung des Prozesses jedoch paketiert. Die Orchestrierungskomponente hält bei Bedarf verschiedene Versionen eines Prozesses vor, sodass im Fall eines Prozessfehlers jederzeit ein Rollback auf eine frühere Version durchgeführt werden kann.

Neben den Prozessen werden im Orchestrator auch die einzelnen Roboter verwaltet. Das schließt neben dem Hinzufügen neuer Roboter auch die Konfiguration bereits bestehender ein. Es liegt somit in der Verantwortung des Orchestrators, Prozesse an einen Roboter zu delegieren, der in der Lage ist, den eingereihten Prozess abzuarbeiten, und gerade Leerlauf hat. Für den Fall, dass alle Roboter ausgelastet sind, werden die Bearbeitungsanfragen in eine Queue eingereiht und zu einem späteren Zeitpunkt bearbeitet. Zwischen Roboter und Orchestrator erfolgt ein kontinuierlicher bidirektionaler Austausch. Informationen zum Fortschritt bei der Abarbeitung eines Prozesses oder auftretende Fehler werden somit jederzeit an den UiPath Orchestrator übermittelt und sind von dort aus einsehbar.

Das letzte und eigentlich wichtigste Glied in der Kette ist der Roboter. Im Fall von UiPath können Roboter entweder im Hintergrund (unattended) oder als persönlicher Assistent des Benutzers (attended) laufen. In beiden Fällen handelt es sich jedoch technisch gesehen um einen Windows-Service, der entweder direkt in der Umgebung installiert oder zentral, beispielsweise mittels System Center Configuration Manager (SCCM), bereitgestellt werden kann. Der Roboter ist für die eigentliche Abarbeitung der Prozessanfragen zuständig und erhält seine Arbeitsaufgaben durch den Orchestrator. Die UiPath-Plattform kann sowohl als Enterprise- als auch als kostenfreie Community-Variante bezogen werden. Die Community Edition unterliegt zwar einigen Einschränkungen, eignet sich aber bestens für einen schnellen Einstieg in die Welt der Robotic Process Automation.

Beispielprojekt

Die Implementierung eines RPA-Projekts startet üblicherweise mit der Umsetzung eines Proofs of Concept (PoC). In dieser Projektphase wird die prinzipielle Machbarkeit des Vorhabens geprüft. In Softwareentwicklungsprojekten liegt ein hohes Risiko häufig in der Einbindung von Drittsystemen über Schnittstellen. Diese Systeme, auf die der Entwickler in der Regel keinen unmittelbaren Einfluss hat, können beispielsweise langsam oder unvorhersehbar reagieren.

Ähnlich ist es auch bei der Durchführung eines Automatisierungsprojekts mittels RPA. Nicht jede Oberfläche lässt sich auf Anhieb perfekt mittels Oberflächenautomation bedienen. Im Fall eines Medienbruchs, ist es vielleicht erforderlich, auf OCR-Technologie zurückzugreifen. Diese kann jedoch auch schnell an ihre Grenzen stoßen und es mag erforderlich sein, die Bildqualität in einem zusätzlichen Workflowschritt zu erhöhen. All diese Unsicherheiten sollten im Rahmen eines Proofs of Concept geklärt werden.

Ein häufiger und verhältnismäßig einfacher Anwendungsfall für den Einsatz von RPA ist der automatisierte Datenabruf von Informationen aus einem Drittsystem oder einer Website. Im nachfolgend dargestellten Beispiel soll der aktuelle Preis der Amazon-Aktie aus einer Website ausgelesen und in einer Excel-Liste gespeichert werden. Kommt es beim Übertragen der Informationen zu einem Fehler, ist es erforderlich, den Process Owner mit einer E-Mail über das Problem zu informieren. In dem hier dargestellten Beispiel gehen wir davon aus, dass Prozessaufnahme und -analyse bereits stattgefunden haben und die notwendigen Dokumente, wie etwa ein Prozess Design Dokument (PDD), bereits erstellt wurden. Der vereinfacht dargestellte Process Flow könnte wie in Abbildung 3 dargestellt aussehen.

Abb. 3: Vereinfachte Process-Flow-Darstellung

Abb. 3: Vereinfachte Process-Flow-Darstellung

Um mit der Entwicklung eines neuen Automatisierungsprojekts zu starten, muss zunächst ein neues Prozessprojekt erstellt werden. Das geschieht bequem über die Oberfläche der UiPath-Studio-Software. Da die nachfolgenden Schritte – nämlich der Seitenaufruf, die Suche nach dem Aktienkurs, sowie das Extrahieren der Informationen – im Webbrowser stattfinden, bietet es sich an, den Web-Recorder für das Aufzeichnen des ersten Teilprozesses zu verwenden (Abb. 4).

Abb. 4: Verwenden des Web-Recorders

Abb. 4: Verwenden des Web-Recorders

Der Web-Recorder lässt sich intuitiv bedienen. Die Aufzeichnung wird durch einen Klick auf den RECORD-Button gestartet und durch Drücken der Escape-Taste beendet. Alle im Browser ausgeführten Aktionen, wie etwa Seitennavigation, Einfügen oder Kopieren von Text etc., werden während der Aufnahme aufgezeichnet. Diese Funktion ist standardmäßig für den Internet Explorer verfügbar. Für Aufzeichnungen von Prozessen mittels anderer Browser ist es zunächst erforderlich, das entsprechende Plug-in über den Menüpunkt TOOLS in UiPath Studio zu installieren. Plug-ins stehen für folgende Browser zur Verfügung:

Abb. 5: Generierte Prozessdarstellung

Abb. 5: Generierte Prozessdarstellung

  • Google Chrome
  • Mozilla Firefox
  • Microsoft Edge

Nach der Beendigung der Aufzeichnung generiert UiPath Studio automatisch eine Prozessdarstellung, basierend auf den ausgeführten Einzelaktionen (Abb. 5).

Beim Abspielen des Prozesses dürfte sich jedoch Ernüchterung einstellen und zugleich eine Schwäche des Web-Recorders zeigen. Verfügt ein Webelement über eine generierte oder gar keine ID, so ist eine Identifikation des Elements für den Softwareroboter zu einem späteren Zeitpunkt nicht mehr ohne weiteres möglich. Die fehlerhafte Prozessaktion lässt sich am einfachsten beim Debugging des Prozesses ausfindig machen. Um die Abläufe möglichst einfach nachvollziehen zu können, sollte die Option Highlight Elements aktiviert sein. Sie sorgt dafür, dass die abgearbeiteten Prozessschritte farblich hervorgehoben werden.

Zudem bietet das Debugging ein ausführliches Log an, aus dem sich zusätzliche Informationen für das Auffinden eines Fehlers heranziehen lassen. Im Fall der automatisch generierten Selektoren ist es erforderlich, sie zu analysieren und manuell nachzubearbeiten. Generierte Identifier setzen sich häufig aus einer statischen und einer generierten Zeichenfolge zusammen. In diesem Szenario könnte die Lösung darin liegen, eine Wildcard wie etwa * zu verwenden, um eine eindeutige Identifizierung des Elements zu ermöglichen. Lassen sich die Werte korrekt auslesen, ist es im nächsten Schritt erforderlich, sie in einer Variablen abzuspeichern.

UiPath Studio bietet neben einigen speziellen Datentypen Zugriff auf sämtliche Typen des .NET Frameworks. In dem hier aufgezeigten Beispiel sollen die Werte lediglich als Text in eine Excel-Datei übernommen werden. Eine Konvertierung ist daher nicht notwendig. Aus diesem Grund fällt die Wahl auf den UiPath-spezifischen Typ UIPath.Core.GenericValue. Dieser Variablentyp kann sowohl Text als auch numerische Werte, Datumswerte und Arrays abspeichern. Damit die Einzelwerte zu einem Excel-Dokument hinzugefügt werden können, müssen sie zunächst in ein DataTable-Objekt überführt werden.

Für einen einfachen Umgang mit DataTable stellt UiPath Studio verschiedene Aktivitäten bereit, mit denen sich sowohl die Struktur über einen grafischen Editor festlegen lässt als auch ein Hinzufügen von neuen Data Rows ermöglicht wird. Auch für den Umgang mit Excel-Dokumenten steht eine Vielzahl von Elementen bereit. Sie werden in der Regel innerhalb eines Excel Application Scopes platziert, mit dem die Zieldatei festgelegt wird. Alle im Scope platzierten Aktivitäten wie das Hinzufügen einer neuen Zeile mit den erfassten Aktiendaten und das Speichern des Workbooks, beziehen sich auf das zuvor festgelegte Excel-Dokument.

Abb. 6: UiPath Robot

Abb. 6: UiPath Robot

Die einfachste Variante des Deployments ist die Bereitstellung auf dem lokalen UiPath-Softwareroboter. Dieser wird standardmäßig mit dem Studio installiert. Die Bereitstellung erfolgt über den Publizierungsdialog. Der Softwareroboter ermittelt in der Standardkonfiguration alle unter dem Dateipfad C:\ProgramData\UiPath\Packages publizierten Prozessdefinitionen und zeigt diese zur Ausführung an. Um die Konfiguration und die bereitgestellten Prozesse einzusehen, muss er über das System Tray geöffnet werden (Abb. 6). Über den UiPath-Robot-Dialog lässt sich der Prozess auch lokal ausführen.

Mit ein wenig Übung lässt sich das hier geschilderte Beispielszenario innerhalb weniger Minuten konfigurieren. Auch wenn es sich natürlich nur um einen Prototyp handelt und wichtigen Aspekten wie etwa der Fehlerbehandlung keine nennenswerte Beachtung geschenkt wurde, ist es dennoch schwierig, mittels herkömmlicher Softwareentwicklung ein ähnliches Ergebnis innerhalb so kurzer Zeit zu erzielen.

Fazit

Die Potenziale für den Einsatz von Robotic Process Automation im Unternehmen sind immens. Angefangen bei massiven Kosteneinsparungen und Produktivitätssteigerungen über höhere Mitarbeiterzufriedenheit bis hin zu verbesserten Prozessen und einem Abfedern des Fachkräftemangels. Das Einführen von RPA ist jedoch nicht mit der Installation einer Automatisierungsplattform und der blinden Umsetzung von Prozessen getan. Ein wichtiges Erfolgskriterium neben der Auswahl einer geeigneten Plattform ist die Automatisierungsstrategie. Fehlt die Strategie, wird das nicht zwangsläufig zum Scheitern des ersten Projekts führen; mittelfristig benötigt die Automatisierung aber eine klare Leitlinie. Denn üblicherweise unterliegen sowohl Prozesse als auch Applikationen einem stetigen Wandel. Veränderungen in der Prozess- oder Applikationslandschaft sowie Auswirkungen auf bereits automatisierte Prozesse sollten in regelmäßigen Governance-Meetings unter der Führung eines Automationsteams diskutiert werden.

Um Akzeptanz für Robotic Process Automation zu schaffen, ist es notwendig, sowohl die IT-Abteilung als auch die Mitarbeiter frühzeitig zu involvieren. Auch die Auswahl des ersten Prozesses für die Automatisierung kann ausschlaggebend für die Akzeptanz sein. Handelt es sich um einen gut sichtbaren Prozess, der Mitarbeiter von lästigen Tätigkeiten entbindet, wird der Einsatz der Technologie womöglich wohlwollend begrüßt. Für die Identifikation geeigneter Prozesse empfiehlt es sich, einen Kriterienkatalog festzulegen, der dabei helfen kann, zu eruieren, ob ein Prozess für die Automation mittels RPA geeignet ist. In der Praxis trifft das nur auf ca. 20 bis 30 Prozent aller eingereichten Automatisierungsideen zu. Die Umsetzung identifizierter Prozesse funktioniert mit einer RPA-Plattform wie UiPath dank Drag and Drop und vieler vorgefertigter Aktionen innerhalb kürzester Zeit. Aufgrund der kurzen Implementierungsdauer lassen sich so auch Prozesse automatisieren, für die sich eine Umsetzung mittels herkömmlicher Softwareentwicklung nicht lohnt.

Windows Developer

Windows DeveloperDieser Artikel ist im Windows Developer erschienen. Windows Developer informiert umfassend und herstellerneutral über neue Trends und Möglichkeiten der Software- und Systementwicklung rund um Microsoft-Technologien.

Natürlich können Sie den Windows Developer über den entwickler.kiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. Außerdem ist der Windows Developer weiterhin als Print-Magazin im Abonnement erhältlich.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -