Wir verzichten auf kostenpflichtige RPA-Plattformen und setzen auf Open Source (OpenRPA).

Einführung

Früher wurde auf Habr ausführlich das Thema Automatisierung von Desktop-GUI-Anwendungen in Python. Zu dieser Zeit war ich sehr von diesem Artikel angezogen, da er Elemente behandelt, die mit der Robotererstellung vergleichbar sind. Da ich beruflich mit der Automatisierung von Geschäftsprozessen (RPA – ein Bereich, in dem es bis vor kurzem keine voll funktionsfähigen Open-Source-Alternativen gab) beschäftige, 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 zwei wesentliche Probleme:

  • Problem 1: Technische Einschränkungen der Plattformfunktionalität, da die Roboter-Skripte nur im grafischen Interface erstellt werden (ja, es gibt die Möglichkeit, Programmcode aufzurufen, aber diese Möglichkeit hat eine Reihe von Einschränkungen)
  • Problem 2: Die extrem teure Lizenzpolitik für den Verkauf dieser Lösungen (Für die führenden Plattformen ca. 8000 $ für einen ständig aktiven Roboter pro Jahr). Machen Sie ein Dutzend Roboter, um auf einen jährlichen Betrag von Lizenzabgaben zu gelangen.

Da dieser Markt sehr jung und aktiv ist, können Sie jetzt problemlos 10+ Robotisierungslösungen mit unterschiedlicher Preisgestaltung bei Google finden. Aber eine voll funktionsfähige Open-Source-Lösung war bis vor kurzem unmöglich zu finden. Dabei ist von einer voll funktionsfähigen Open-Source-Lösung die Rede, denn es gibt zwar teilweise kostenlose Robotisierungslösungen, aber diese bieten nur einen Teil der Schlüsseltechnologien, auf denen das RPA-Konzept basiert.

Auf was basiert das RPA-Konzept?

RPA (Robotic Process Automation) ist eine der wirtschaftlichsten Formen, um Ziele zu erreichen. Da RPA nicht bedeutet, auf alle möglichen Legacy-Systeme des Unternehmens zu verzichten, sondern ein erforderliches Automatisierungsskript auf Basis dieser Systeme zu erstellen – das bringt Vorteile sowohl in Bezug auf die Entwicklungszeit (da die bestehende Vielzahl an Systemen nicht umgestaltet werden muss) als auch hinsichtlich der Geschäftsergebnisse (Einsparungen PŠE/FTE, Umsatzsteigerung des Unternehmens, Kostenreduzierung des Unternehmens).

Die RPA-Tools basieren auf folgenden Technologien:

  • Steuerung von offenen Web-Seiten im Browser;
  • Steuerung von offenen Desktop-GUI-Anwendungen;
  • Maus- und Tastatursteuerung (Tastenanschläge, Hotkeys, Mausklicks, Cursorbewegung);
  • Erkennung grafischer Elemente auf dem Desktop zur weiteren Anwendung mit Maus und/oder Tastatur;

Durch langjährige praktische Erfahrung konnten wir zeigen, dass genau dieses Werkzeugset die Robotisierung fast jedes Geschäftsprozesses ermöglicht, in dem kein Element der Erkennung/Anwendung künstlicher Intelligenz erforderlich ist (in diesen Fällen müssen entsprechende Bibliotheken, die in der bestehenden IT-Welt verfügbar sind, an den Roboter angeschlossen werden). Das Fehlen auch nur eines der oben genannten Werkzeuge hat erhebliche Auswirkungen auf die Möglichkeiten von RPA.

Denn alle RPA-Werkzeuge sind im Internet zu finden. Was fehlt also?

Fehlt das Wichtigste – es fehlt an ihrer Integrität. Integrität, die es ermöglicht, den synergistischen Effekt aus der Nutzung verschiedener Werkzeuge (Web, GUI, Maus, Tastatur) in einem Roboter-Skript zu realisieren, was oft eine Notwendigkeit darstellt (wie die Praxis zeigt) bei der Entwicklung. Genau diese Schlüsselmöglichkeiten bieten alle führenden RPA-Plattformen, und jetzt wird diese Möglichkeit von der ersten Open-Source-RPA-Plattform OpenRPA bereitgestellt.

Wie funktioniert OpenRPA?

OpenRPA ist ein Open-Source-Projekt, das auf der Programmiersprache Python 3 basiert und aus den besten bestehenden Python-Bibliotheken besteht, die die notwendigen Werkzeuge für die RPA-Plattform bereitstellen (siehe oben für eine Liste der Schlüsselwerkzeuge).

Liste der Schlüsselbibliotheken:

  • pywinauto;
  • selenium;
  • keyboard;
  • pyautogui.

Da alle Bibliotheken nichts voneinander wissen, wurde in OpenRPA eine entscheidende Funktion der RPA-Plattform implementiert, die es ermöglicht, sie gemeinsam zu nutzen. Dies zeigt sich besonders deutlich bei der Nutzung der Bibliothek pywinauto zur Steuerung von Desktop-GUI-Anwendungen. In diesem Bereich wurde die Funktionalität der Bibliothek so erweitert, dass sie das Funktionsniveau erreicht, das von den besten RPA-Plattformen angeboten wird (Selektoren für GUI-Anwendungen, Unabhängigkeit von Auflösungen, Studio zur Erstellung von Selektoren usw.).

Fazit

Die heutige IT-Welt ist so offen für alle, dass es kaum vorstellbar ist, dass es noch Bereiche gibt, in denen ausschließlich kostenpflichtige Lizenzlösungen dominieren. Da diese Lizenzpolitik die Entwicklung in diesem Bereich stark einschränkt, hoffe ich, dass wir diese Situation ändern können: Damit jedes Unternehmen sich RPA leisten kann; damit unsere IT-Kollegen leicht eine Arbeit im Bereich RPA finden können, unabhängig von der wirtschaftlichen Lage in ihren Regionen (derzeit können sich Regionen mit schwacher Wirtschaft RPA nicht leisten).

Wenn dieses Thema für Sie interessant ist, kann ich in Zukunft ein Tutorial speziell für Хабр zur Verwendung von OpenRPA erstellen – schreiben Sie in die Kommentare.

Vielen Dank und einen schönen Tag!

Quelle: habr.com

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster