Wir lehnen kostenpflichtige RPA-Plattformen ab und setzen auf OpenSource (OpenRPA)

Einführungskurs

Zuvor wurde das Thema ausführlich auf Habré behandelt Automatisierung von Desktop-GUI-Anwendungen in Python. Dieser Artikel hat mich damals sehr angezogen, weil er Elemente enthüllte, die denen der Robotererstellung ähneln. Und da ich aufgrund meiner beruflichen Tätigkeit mit der Robotisierung von Geschäftsprozessen in Unternehmen befasst bin (RPA ist ein Bereich, in dem es bis vor kurzem keine voll funktionsfähigen OpenSource-Analoga gab), war dieses Thema für mich sehr relevant.

Die besten existierenden IT-Lösungen im Bereich RPA (UI Path, Blueprism, Automation Anywhere und andere) weisen zwei wesentliche Probleme auf:

  • Problem 1: Technische Einschränkungen der Funktionalität der Plattform bei der Erstellung von Roboterskripten nur in der grafischen Oberfläche (ja, es gibt die Möglichkeit, Programmcode aufzurufen, aber diese Fähigkeit hat eine Reihe von Einschränkungen)
  • Problem 2: Extrem teure Lizenzpolitik für den Verkauf dieser Lösungen (für Top-Plattformen). etwa 8000 US-Dollar für einen ständig arbeitenden Roboter pro Jahr). Bauen Sie ein Dutzend Roboter, um eine große jährliche Summe in Form von Lizenzgebühren zu erhalten.

Da dieser Markt sehr jung und sehr aktiv ist, können Sie bei Google mittlerweile problemlos über 10 Robotiklösungen mit unterschiedlichen Preisrichtlinien finden. Doch bis vor Kurzem war es unmöglich, eine voll funktionsfähige OpenSource-Lösung zu finden. Darüber hinaus sprechen wir konkret von voll funktionsfähigem OpenSource, da teilweise kostenlose Robotisierungslösungen zu finden sind, diese jedoch nur einen Teil der Schlüsseltechnologien bieten, auf denen das RPA-Konzept basiert.

Worauf basiert das RPA-Konzept?

RPA (Roboter-Prozessautomatisierung) ist eine der kostengünstigsten Formen der Zielerreichung. Da es bei RPA nicht darum geht, alle möglichen Altsysteme des Unternehmens aufzugeben, sondern das notwendige Automatisierungsskript auf der Grundlage dieser Systeme zu erstellen, trägt dies sowohl hinsichtlich der Entwicklungsgeschwindigkeit Früchte (da keine Notwendigkeit besteht, den bestehenden Zoo an Systemen zu überarbeiten) als auch hinsichtlich der Entwicklungsgeschwindigkeit. und in Bezug auf die Geschäftsergebnisse (Einsparungen). PSE/FTE, Steigerung der Einnahmen des Unternehmens, Reduzierung der Ausgaben des Unternehmens).

RPA-Tools basieren auf folgenden Technologien:

  • Verwalten offener Browser-Webseiten;
  • Verwaltung offener Desktop-GUI-Anwendungen;
  • Maus- und Tastatursteuerung (Tasten, Hotkeys, Maustasten drücken, Cursor bewegen);
  • Suchen Sie nach grafischen Elementen auf dem Desktop-Bildschirm, um weitere Aktionen mit der Maus und/oder der Tastatur durchzuführen.

Mit langjähriger praktischer Erfahrung konnten wir zeigen, dass wir mit diesem speziellen Satz an Technologien die Robotisierung nahezu aller Geschäftsprozesse implementieren können, die kein Element der Erkennung/Anwendung künstlicher Intelligenz erfordern (in diesen Fällen ist dies erforderlich). um die entsprechenden in der bestehenden IT-Welt vorhandenen Bibliotheken an den Roboter anzubinden). Das Fehlen mindestens eines der oben genannten Tools beeinträchtigt die Fähigkeiten von RPA erheblich.

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

Aber das Wichtigste fehlt: ihre Integrität. Integrität, die es Ihnen ermöglicht, den Synergieeffekt der Verwendung verschiedener Tools (Web, GUI, Maus, Tastatur) in einem Roboterskript zu realisieren, was (wie die Praxis zeigt) während der Entwicklung oft eine Notwendigkeit ist. Es ist diese Schlüsselchance, die alle Top-RPA-Plattformen bieten, und nun wird damit begonnen, diese Chance zu bieten die erste OpenSource-RPA-Plattform OpenRPA

Wie funktioniert OpenRPA?

OpenRPA ist ein OpenSource-Projekt, das auf der Programmiersprache Python 3 basiert und aus den besten vorhandenen Python-Bibliotheken besteht, mit denen Sie die erforderlichen RPA-Plattform-Tools implementieren können (siehe Liste der wichtigsten RPA-Tools oben).

Liste der wichtigsten Bibliotheken:

  • pywinauto;
  • Selen;
  • Tastatur;
  • pyautogui

Da nicht alle Bibliotheken voneinander wissen, implementiert OpenRPA die wichtigste Funktion der RPA-Plattform, die ihre gemeinsame Nutzung ermöglicht. Dies wird besonders deutlich, wenn die Pywinauto-Bibliothek zum Verwalten einer Desktop-GUI-Anwendung verwendet wird. In diesem Bereich wurde die Funktionalität der Bibliothek auf das Funktionsniveau der besten RPA-Plattformen erweitert (Selektoren für GUI-Anwendungen, Bit-Unabhängigkeit, Selector Creation Studio usw.).

Abschluss

Die moderne IT-Welt ist heute für jeden so offen, dass es kaum noch 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 diese Situation umkehren können: damit sich jedes Unternehmen RPA leisten kann; Damit unsere IT-Kollegen problemlos einen Job in RPA finden können, unabhängig von der wirtschaftlichen Situation in ihrer Region (Regionen mit schwacher Wirtschaft können sich RPA heute nicht leisten).

Wenn dieses Thema für Sie von Interesse ist, kann ich in Zukunft ein Tutorial speziell für Habr zur Verwendung von OpenRPA erstellen – schreiben Sie in die Kommentare.

Vielen Dank an alle und einen schönen Tag!

Source: habr.com

Kommentar hinzufügen