Software-Roboter im Einsatz

Von Robotern, die Software bedienen

07.11.2016
Von 


Carsten Rust ist bei Pegasystems als Director Solution Consulting DACH tätig. Zu seinen Spezialthemen gehören dabei Business Process Management, Customer Relationship Management sowie Case Management zur Steuerung betrieblicher Prozesse.
Software-Roboter ahmen Industrieroboter nach. Sie automatisieren Abläufe, die von den Applikationen selbst nur unzureichend abgebildet werden. Die Durchlaufzeiten lassen sich dadurch erheblich reduzieren. Im Rahmen einer Digitalisierungs-Strategie kann der Einsatz von Software-Robotern langwieriges Umstrukturieren in der IT überbrücken.

Der "Schachtürke" versetzte 1769 den Wiener Hof in Entzücken: ein Apparat, der auf geheimnisvolle Weise Schach spielen konnte – unfassbar! Verbarg sich damals hinter dem Vorläufer von Deep Blue & Co. (vermutlich) noch ein Mensch, hat die Roboter-Technik seither durchaus ein paar Fortschritte gemacht. Insbesondere in der industriellen Welt haben programmgesteuerte Apparate einen festen Platz: Als Industrieroboter können sie schweißen, Werkstücke ausrichten, als Haushaltsroboter staubsaugen und den Rasen mähen, sie helfen bei der Ernte und sogar bei der Krankenpflege, sie untersuchen Rohrleitungen und verdächtige Koffer und fahren auf dem Mars herum.

Die Technik des Schach spielenden Ur-Roboters von 1769 hat sich seither nur wenig verändert.
Die Technik des Schach spielenden Ur-Roboters von 1769 hat sich seither nur wenig verändert.
Foto: ARKHIPOV ALEKSEY - shutterstock.com

Die Einsatzmöglichkeiten von Robotern sind nahezu unbegrenzt: Überall wo mechanische Bewegungs- und Arbeitsabläufe automatisiert werden, verrichten sie stumm und eifrig ihre Arbeit. Dass sie hinsichtlich der Intelligenz dem Menschen nicht das Wasser reichen können, ist dabei sogar ein Vorteil: Für stupide Arbeiten müssen Roboter nicht besonders motiviert werden, Einschalten genügt.

Trotz aller verbauter "Intelligenz" stehen bei Robotern in der Regel die Bewegung und die entsprechende Mechanik im Vordergrund. Wenn also neuerdings von virtuellen Robotern, von "Robots" oder von Software-Robotern die Rede ist, so handelt es sich um eine Analogie: diese Systeme haben natürlich weder Greifarme noch Räder, sie werden nicht durch Software gesteuert – sie sind Software und ohne Strom existieren sie nicht. Die Analogie basiert auf den automatisierten Abläufen, die ohne weitere menschliche Interaktion ausgeführt werden.

Ein derartiger Software-Roboter ist ein Computer-Programm, das die Interaktion eines Menschen mit einem IT-System – meistens mit der Oberfläche einer Anwendung, wie zum Beispiel die Erfassungsmaske für Kundenbestellungen in einem SAP-System – nachstellt. Ziel ist es, durch Automatisierung die jeweiligen Abläufe, schneller und fehlerfreier zu machen; auch hier passt also die Analogie etwa zu den Industrierobotern. Software-Roboter werden allerdings hauptsächlich für Verwaltungsaufgaben eingesetzt, hier sind Hardware-Roboter mit Greifarmen eher selten zu finden, obwohl es – vor der durchgängigen Digitalisierung – gelegentlich auch Roboter gab, die Schriftstück und Akten durch die Büros fuhren.

Wozu braucht man Software-Roboter?

Hier stellt sich natürlich die Frage, wozu man in der IT einen Roboter benötigt, da doch die Abläufe innerhalb einer Applikation ohnehin regelbasiert und automatisch ausgeführt werden. Die Kluft zwischen der Programmlogik und analogen, physikalischen Welt der Mechanik, die der Industrieroboter im Beispiel mit seinen Armen und seinen Werkzeugen überbrückt, ist innerhalb der Welt der Software ja gar nicht vorhanden. Statt einen Software-Roboter zur Automatisierung von Abläufen in Programmen zu entwickeln, könnte man daher doch auch besser, umfassender, durchgängiger programmieren.

Allerdings ist die wirkliche IT-Welt nicht so einfach und klar strukturiert. Unternehmen haben über viele Jahre in Technologien und Systeme investiert und sie haben damit unterschiedliche Anforderungen erfüllt. In der Regel funktionieren diese Systeme ja auch, aber sie passen in den seltensten Fällen auch zusammen. Sie sind in der Praxis wenig oder gar nicht integriert. So sind dann beispielsweise Anwender im Kundenservice gezwungen, innerhalb eines Prozesses mit einer Vielzahl unterschiedlicher Applikationen zu arbeiten. Die Lücken zwischen den Systemen werden mit manueller Arbeit oder mit Behelfsmitteln wie Excel oder Notizblock überbrückt.

Eine Zeitlang hat die IT versucht, dieses Problem mit Service-orientierten Architekturen (SOA) zu lösen, die die verschiedenen Anwendungen über definierte Services anderen Systemen und Technologien zugänglich machen. Allerdings scheitern diese Ansätze in der Umsetzung oft daran, dass die Bereitstellung solcher Services technisch nicht oder nur mit sehr hohem Aufwand möglich war. Vielfach läuft das Konzept darauf hinaus, dass die jeweilige Anwendung in Teilen neu geschrieben werden muss, vor allem wenn es sich um ältere Legacy-Anwendungen handelt, die einer SOA nicht unmittelbar zugänglich sind. Der Ansatz ist also erheblich kosten- und zeitintensiver als es auf den ersten Blick aussieht.

Dennoch bleibt der Druck auf die Unternehmen, schnell und flexibel auf neuen Anforderungen zu reagieren, um wettbewerbsfähig zu bleiben. Unter diesen Bedingungen weiterhin den Mitarbeiter als Bindeglied zwischen den Systemen zu verwenden, ist teuer und es führt oft auch zu einer Verschlechterung des Kundenservices. Die Mitarbeiter sind in dieser Konstellation als eine Art "Human Middleware" mehr mit der Bedienung einer letztlich veralteten IT beschäftigt, als sich um den Kunden kümmern zu können. Und wer hat es nicht schon selbst erlebt, dass gestresste Kundendienstmitarbeiter am Telefon mit der Technik gekämpft haben?

An dieser Stelle kommen Software-Roboter ins Spiel - Systeme, die mit den bestehenden Anwendungen arbeiten und deren Abläufe in Teilbereichen automatisieren. Sie können auf diese Weise den Mitarbeiter von wiederkehrenden, wenig anspruchsvollen aber zeitaufwendigen Arbeitsschritten entlasten, indem sie zum Beispiel das wiederholte Kopieren der Kundennummer von einem System in das andere übernehmen. Für solche Vorgänge können Software-Roboter die Bearbeitungszeit drastisch reduzieren. Voraussetzung ist allerdings, dass diese Vorgänge sehr oft durchgeführt werden; es ist nicht effizient, seltene Arbeiten auf diese Weise zu automatisieren.

Vom Bildschirm zum Objekt

Die Idee einer automatisierten Bedienung von Anwendungen ist allerdings nicht neu. Schon vor Jahren wurde mittels "Screen Scraping" die Bedienung von Software-Anwendungen automatisiert, indem direkt an den Benutzeroberflächen angesetzt wurde. Screen-Scraping-Lösungen analysieren eine grafische Oberfläche - sie stellen beispielsweise fest, welches Zeichen an Bildschirmposition X - Y auftaucht - und werten die Ergebnisse regelbasiert aus, sie schreiben also beispielsweise die ermittelte Kundennummer in ein anderes System. Der Nachteil dieses Verfahrens ist die geringe Flexibilität, denn jede noch so kleine Änderung einer Bildschirmmaske verlangt die Neukonfiguration des Screen Scraping.

Software-Roboter entlasten den Mitarbeiter von wiederkehrenden, wenig anspruchsvollen aber zeitaufwendigen Arbeitsschritten.
Software-Roboter entlasten den Mitarbeiter von wiederkehrenden, wenig anspruchsvollen aber zeitaufwendigen Arbeitsschritten.
Foto: Mopic - shutterstock.com

Technologisch sind moderne Software-Roboter hier deutlich weiter. Sie werten unmittelbar die im Speicher vorhandenen Objektmodelle der Oberflächen aus. Sie können damit auf Events reagieren und regelbasiert entsprechende Bearbeitungsschritte auslösen. Grundlage der Software-Roboter ist also regelbasierte Logik, nicht etwa "künstliche Intelligenz"; diese Roboter sind auch nicht "selbstlernend", das gehört nicht zu ihrem Einsatzprofil.

Besonders vorteilhaft lassen sich Software-Roboter im Zusammenspiel mit Systemen zur Vorgangsteuerung - Dynamic Case Management (DCM) - einsetzen. Dabei können Roboter zum Beispiel auf "Postkörbe" zugreifen, also auf Arbeitslisten zum Vorgangstracking im Rahmen des Case Management; die virtuellen Postkörbe sind eine der Möglichkeiten für das Zusammenwachsen von Robotics und Case Management. Anstelle des Menschen schaut nun der Robot in der Arbeitsliste nach, was noch zu tun ist, und erledigt die Aufgaben, die er automatisieren kann.

Auf diese Weise kann ein Unternehmen ohne übermäßigen Anpassungsaufwand den Automatisierungsgrad seiner Systeme erhöhen. Dabei können Teilaufgaben - Sub-Cases im DCM - in einem Vorgang (Case) einem Roboter zugeordnet werden, der diese Aufgabe in Zusammenarbeit mit einem Mitarbeiter teilweise selbstständig übernimmt. Lösungen wie die Pega-Platt­form, die Software-Robotik und DCM verbinden, sind hier im Vorteil.

Derartige Einsatzszenarien, in denen durch Automatisierung Mehrwert erzielt werden kann, eignen sich vor allem für Unternehmen, die die Digitale Transformation vorantreiben wollen. Diese Transformation lässt sich mit Hilfe von Software-Robotern vom Aufwand entkoppeln, der beispielsweise für SOA-basierte Ansätze erforderlich ist. Dadurch können frühzeitig messbare Vorteile erzielt werden, während der Umbau der jeweiligen IT-Landschaft im Rahmen des langfristigen Digitalisierungs-Kon­zepts trotzdem im Hintergrund weitergehen kann. Soweit die benötigten Services realisiert sind, können die Roboter sukzessive durch eine Orchestrierung der neuen Services abgelöst werden. Am Endpunkt dieser Entwicklung, in einer durchgängig homogenen, Service-orientierten IT-Landschaft, bräuchte man keine speziellen Software-Roboter mehr, weil dann alle Prozesse durchgängig integriert sind. Vorerst ist das aber Utopie.

RDA und RPA

Beim Einsatz solcher Robots beziehungsweise Software-Roboter wird zwischen Robotics Process Automation (RPA) und Robotics Desktop Automation (RDA) unterschieden.

• RDA bezeichnet einen persönlichen Roboter auf dem Rechner eines Mitarbeiters, der ihn bei der Erledigung von Routineaufgaben unterstützt. Hierbei kommt es an geeigneten Stellen zur Interaktion zwischen dem Menschen und dem Roboter. Häufig werden RDA-Roboter im Front Office, zum Beispiel im Call Center eines Unternehmens eingesetzt.

• RPA hingegen beschreibt Software-Roboter, die auf einem Server ausgeführt werden, die ohne weitere Interaktion mit dem Menschen ihre Arbeit verrichten. Typische Aufgaben sind im Backoffice zu finden, beispielsweise für das Übertragen von Informationen aus einem Transaktionssystem in ein CRM, das auf einer anderen Plattform läuft.

(mb)