Wir verabschieden uns von kostenpflichtigen RPA-Plattformen und setzen auf OpenSource (OpenRPA)

EinfĂŒhrung

FrĂŒher wurde das Thema auf Habr ausfĂŒhrlich behandelt Automatisierung von Desktop-GUI-Anwendungen mit Python. Zu diesem Zeitpunkt war ich sehr von diesem Artikel angezogen, da er Elemente anspricht, die mit der Robotik zusammenhĂ€ngen. Da ich beruflich mit der Automatisierung von GeschĂ€ftsprozessen (RPA – ein Bereich, in dem es bis vor kurzem keine voll funktionsfĂ€higen OpenSource-Alternativen gab) beschĂ€ftigt bin, war dieses Thema fĂŒr mich sehr relevant.

Die fĂŒhrenden bestehenden IT-Lösungen im Bereich RPA (UI Path, Blueprism, Automation Anywhere und andere) haben 2 wesentliche Probleme:

  • Problem 1: Technische EinschrĂ€nkungen der FunktionalitĂ€t der Plattform, da Roboter-Skripte nur im grafischen Interface erstellt werden (ja, es gibt die Möglichkeit, Programmcode aufzurufen, aber diese Möglichkeit hat ihre EinschrĂ€nkungen)
  • Problem 2: Extrem teure Lizenzpolitik beim Verkauf dieser Lösungen (FĂŒr die fĂŒhrenden Plattformen liegt der Preis bei etwa 8000 $ fĂŒr einen stĂ€ndig arbeitenden Roboter pro Jahr). Machen Sie ein Dutzend Roboter, um auf eine jĂ€hrliche Summe in Form von LizenzgebĂŒhren zu kommen.

Da dieser Markt sehr jung und Ă€ußerst aktiv ist, können Sie jetzt ganz einfach ĂŒber Google 10+ Robotiklösungen mit unterschiedlichen Preisstrukturen finden. Doch eine voll funktionsfĂ€hige OpenSource-Lösung war bis vor kurzem unmöglich zu finden. Dabei rede ich von einer voll funktionsfĂ€higen OpenSource-Lösung, denn teilweise freie Robotiklösungen sind zwar zu finden, bieten jedoch nur einen Teil der SchlĂŒsseltechnologien, auf denen das Konzept von RPA basiert.

Auf was basiert das Konzept von RPA?

RPA (Robotic Process Automation) ist eine der wirtschaftlichsten Möglichkeiten, ein Ziel zu erreichen. Da RPA nicht vorsieht, von irgendwelchen Altsystemen des Unternehmens abzurĂŒcken, sondern ein erforderliches Automatisierungsskript auf Basis dieser Systeme zu erstellen – das bringt Vorteile sowohl in Bezug auf die Entwicklungsgeschwindigkeit (da das bestehende System nicht umgestaltet werden muss) als auch in Bezug auf die GeschĂ€ftsergebnisse (Einsparungen PShE/FTE, Umsatzsteigerung des Unternehmens, Reduzierung der Unternehmensausgaben).

Die Werkzeuge von RPA basieren auf folgenden Technologien:

  • Steuerung von geöffneten Web-Seiten im Browser;
  • Steuerung von geöffneten Desktop-GUI-Anwendungen;
  • Maus- und Tastatursteuerung (TastendrĂŒcke, Hotkeys, Maustasten, Cursorbewegung);
  • Suche nach grafischen Elementen auf dem Desktop-Bildschirm zur DurchfĂŒhrung weiterer Aktionen mit der Maus und/oder Tastatur;

Durch jahrelange praktische Erfahrung konnten wir zeigen, dass genau dieses Technologiepaket die Robotisierung praktisch jedes GeschĂ€ftsprozesses ermöglicht, bei dem kein Element der Erkennung/anwendung kĂŒnstlicher Intelligenz erforderlich ist (in diesen FĂ€llen mĂŒssen die entsprechenden Bibliotheken, die in der bestehenden IT-Welt verfĂŒgbar sind, mit dem Roboter verbunden werden). Das Fehlen auch nur eines der oben genannten Werkzeuge hat einen erheblichen Einfluss auf die Möglichkeiten von RPA.

Schließlich sind alle RPA-Tools im Internet zu finden. Was fehlt also?

Es fehlt jedoch das Wichtigste – es fehlt an ihrer Ganzheitlichkeit. Ganzheitlichkeit, die es ermöglicht, den synergistischen Effekt aus der Verwendung verschiedener Werkzeuge (Web, GUI, Maus, Tastatur) in einem Skript des Roboters zu realisieren, was in der Entwicklungsarbeit oft eine Notwendigkeit ist (wie die Praxis zeigt). Genau diese SchlĂŒsselkompetenz bieten alle fĂŒhrenden RPA-Plattformen, und jetzt wird diese Möglichkeit auch bereitgestellt. die erste OpenSource RPA-Plattform OpenRPA

Wie funktioniert OpenRPA?

OpenRPA ist ein OpenSource-Projekt auf Basis der Programmiersprache Python 3, das aus den besten verfĂŒgbaren Python-Bibliotheken besteht, die es ermöglichen, das notwendige Werkzeugset fĂŒr die RPA-Plattform zu realisieren (die Liste der SchlĂŒsselwerkzeuge fĂŒr RPA siehe oben).

Liste der wichtigsten Bibliotheken:

  • pywinauto;
  • selenium;
  • keyboard;
  • pyautogui

Da alle Bibliotheken nicht ĂŒber die Existenz der anderen Bescheid wissen, bietet OpenRPA eine grundlegende Funktion der RPA-Plattform, die es ermöglicht, sie gemeinsam zu nutzen. Dies zeigt sich besonders deutlich bei der Verwendung der Bibliothek pywinauto zur Steuerung von Desktop-GUI-Anwendungen. In diesem Bereich wurde die FunktionalitĂ€t der Bibliothek bis zu dem Niveau ergĂ€nzt, das in den besten RPA-Plattformen angeboten wird (Selektoren fĂŒr GUI-Anwendungen, UnabhĂ€ngigkeit von Auflösungen, Studio zur Erstellung von Selektoren usw.).

Fazit

Die moderne IT-Welt ist heute so offen, dass es kaum vorstellbar ist, dass es immer noch Bereiche gibt, in denen nur kostenpflichtige Lizenzlösungen dominieren. Da diese Lizenzpolitik die Entwicklung dieses Bereichs stark einschrÀnkt, hoffe ich, dass wir die Situation Àndern können: sodass jedes Unternehmen sich RPA leisten kann; sodass unsere IT-Kollegen unabhÀngig von der wirtschaftlichen Situation in ihren Regionen (aktuell können sich Regionen mit einer schwachen Wirtschaft RPA nicht leisten) leicht eine Anstellung im Bereich RPA finden können.

Wenn dieses Thema fĂŒr Sie interessant ist, kann ich spĂ€ter ein Tutorial speziell fĂŒr Habr zur Nutzung von OpenRPA erstellen – schreiben Sie in die Kommentare.

Vielen Dank und einen schönen Tag!

Quelle: habr.com

60GB SSD 8Gb DDR4