RPA Software Robot Geschwindigkeitstests

Einleitung


Vor einigen Tagen diskutierten meine Kollegen und ich auf einer internen Veranstaltung das Thema der Robotisierung von Prozessen in Projekten zur Implementierung eines EDMS. RPA-Nachrichten und Lieferantenbewertungen besagen, dass wir den API-Konnektor durch einen Softwareroboter ersetzen können. Verwenden Sie einen RPA, um große Datenmengen zu übertragen.

Skeptiker glauben, dass der RPA eine "Krücke" ist, ersatz. Und wenn die Situation eine vollständige Interaktion von Anwendungen erfordert, kommt der RPA nicht zurecht, und Sie benötigen weiterhin einen API-Connector.
Unsere Verkäufer und Spezialisten aus der Implementierung erfüllen die Aufgabe der Datenmigration in jedem Projekt.

Ein charakteristisches Merkmal der Migration ist ein großes Volumen und ein sehr kurzer Zeitraum. Das Unternehmen ist bereit, dafür nur 2-3 Tage zuzuteilen. Implementierungsspezialisten bereiten sich sehr sorgfältig vor und planen ihre Arbeit buchstäblich in Minuten. Entwickler bereiten Dienstprogramme vor.

Es stellte sich die logische Frage, in welcher Zeit der Roboter mindestens mehrere tausend Datensätze von einer Datenbank in eine andere ziehen kann.

In einem früheren Artikel ( Link ) haben wir uns RPAs von Automation Anywhere angesehen. Dieses Mal werden wir den Roboter aus einem anderen bekannten Studio testen - UiPath RPA. Wir werden die Arbeitsgeschwindigkeit testen: 64.000 Datensätze von einer Datenbank in eine andere übertragen.

Zum Vergleich werden wir dies auf verschiedene Arten tun:
  • Low-Level API-Connector auf dem YP;
  • Roboter durch die integrierte API;
  • einen Roboter durch eine Zwischen-Excel-Datei in die Formkarte der endgültigen Basis;
  • einen Roboter vom Quellkartenformular zum endgültigen Basisformular;
  • Hände von Karte zu Karte.


Das Ergebnis kann nützlich sein, um Entwicklern, Administratoren und allen, die nach einer Möglichkeit suchen, die Interaktion zwischen unterschiedlicher Software herzustellen, ein „Nachdenken“ zu ermöglichen und tiefgreifendes Programmieren zu vermeiden.

Darüber hinaus beschreiben wir einige der Funktionen des UiPath-RPA, die wir in unserer Ministudie kennengelernt haben.

In diesem Artikel werden wir die Wirtschaft senken - dieses Thema verdient eine gesonderte und detaillierte Betrachtung. Wir werden nur die für jedes Szenario spezifischen Umstände angeben.

Also die Aufgabe: die Liste der Kontakte aus der Quellendatenbank in die Zieldatenbank zu übertragen.
Die Anzahl der Datensätze - 64.000 Stück. Jeder Eintrag enthält Name, Nachname, E-Mail, Organisation.
Die Quell- und Zieldatenbanken sind einfache MS Access-Datenbanken mit einer Tabelle zum Speichern von Kontakten und einem Formular zum Anzeigen eines einzelnen Kontakts.

Eine kurze Beschreibung jedes Szenarios


API-Connector


Es wird erwartet, dass der Entwickler über API-Kompetenzen für beide Systeme verfügt und Zugriff auf die Datenbank hat. In unserem Beispiel schreiben wir einen Connector in der integrierten VBA-Sprache von MS Access.
Die Namen der Felder in der Quelle und im Empfänger stimmen möglicherweise nicht überein. Im Code konfigurieren wir selbst, welche Daten der Connector von der Quelle übernimmt und wo er sie in den Empfänger schreibt.
Das Programm übertrug die gesamte Datenmenge in 26 Sekunden.

API Robot


Es wird erwartet, dass der Roboter den Administrator des aktuellen Systems konfigurieren kann. Dazu müssen Sie eine Schulung in RPA-Entwicklung absolvieren, die von vielen Anbietern kostenlos angeboten wird.
Eingehende DAO-Kenntnisse sind nicht erforderlich. Um mit Datenbanken auf der "niedrigen" Ebene zu arbeiten, verfügt der RPA über eine Reihe spezieller Befehle - Datenbankaktivitäten. Die erforderlichen Verbindungseinstellungen werden von UiPath mithilfe des Assistenten selbst festgelegt. Wir haben die Zeile der SQL-Abfrage direkt aus dem Access-Abfrage-Designer übernommen.

Der Hauptpunkt ist, dass die Feldüberschriften in der Anfangs- und Enddatenbank übereinstimmen sollten. In diesem Fall ist die Reihenfolge der Felder in der Anfrage nicht wichtig.
Der Roboter schleppte die gesamte Lautstärke in 1 Minute und 52 Sekunden. Obwohl länger als der API-Konnektor, ist die Reihenfolge immer noch angemessen.

Roboter durch Excel


Wir haben das von den meisten DBMS, Sie können Daten in ein Zwischenformat exportieren - xls, xlsx, xml, html, csv. Der UiPath-Roboter kann über die integrierten Aktivitäten direkt mit solchen Dateien arbeiten.

Es wird erwartet, dass der RPA-Entwickler mit der Quellprogrammschnittstelle vertraut ist, um Daten in eine Zwischendatei hochzuladen. Sie müssen auch die Benutzeroberfläche des Datenempfängerprogramms kennen. Das heißt, ein geschulter Administrator wird die Aufgabe bewältigen.

Wir exportieren die Liste aller Kontakte in eine Excel-Datei. Aus Excel können die Daten wie folgt gelesen werden:
  • vollständig in eine Variable vom Typ DataTable (Sie müssen jedoch die Größe des Arbeitsspeichers berücksichtigen und die Datenstruktur dieses Typs kennen);
  • kann Zeilen sein (weniger Speicher erforderlich);
  • Sie können jedoch jeweils eine Zelle nehmen (der Speicher ist fast frei + die Robotermontage ist einfacher, DataTable wird nicht verwendet). Wir werden die letzte Option machen.

Auf der Seite des endgültigen Systems öffnet der Roboter eine Formularkarte für einen neuen Datensatz und füllt sie mit Daten aus Excel.
In 10 Minuten und 24 Sekunden hat der Roboter 64 Datensätze migriert. Das heißt, ~ 173 Stunden dauern eine vollständige Übertragung. Der Grund für diese Verlangsamung ist die GUI-Startzeit bei jedem Vorgang.

Karte zu Karte Roboter


Es wird erwartet, dass der benutzerdefinierte Benutzer eine solche Übertragung konfigurieren kann. Sie müssen sich nur mit dem vereinfachten Ablauf der RPA-Entwicklung vertraut machen (1-2 Studientage). Dies ist die am einfachsten zu entwickelnde Robotermethode.
Der Roboter fungiert hier als erweiterter „Clicker“: Finde das Feld in der Quellkarte => nimm seinen Wert => finde das Feld in der Empfängerkarte => gib den Wert ein => klicke auf „Speichern“.

Wir haben Standardkarten genommen. Access generiert solche Formulare ohne jegliche Programmierung.
Betriebszeit 9 Minuten 02 Sekunden für 64 Datensätze. ~ 151 Stunden für eine vollständige Übertragung.

Manuelles Tragen


Es wird erwartet, dass ein gewöhnlicher Benutzer des Systems diese Aufgabe bewältigt. Das Niveau der erforderlichen Kompetenzen ist das niedrigste: Nur die Kenntnis der Schnittstelle der Quellensoftware und der Empfängersoftware ist ausreichend. Keine zusätzlichen Schulungen erforderlich.

Wir benutzen die Maus und Strg + A, Strg + C, Strg + V, Alt + Tab und die gleichen Karten.
Die Übertragung von 10 Datensätzen dauerte 5 Minuten. Das heißt: ~ 533 Stunden für den gesamten Band. Und das ist nur reine Handarbeitszeit. Und ein Mensch sollte sich ausruhen, sich von anderen Aufgaben ablenken lassen und die Fehler seiner eigenen Nachlässigkeit korrigieren. Wenn der Roboter eine Person, die sich im Betrieb befindet, durch die grafische Benutzeroberfläche ersetzt, gewinnt der Prozess mehrmals an Geschwindigkeit.
Die Gesamtergebnisse sind in den folgenden Tabellen zusammengefasst.

Zusammenfassende Ergebnisse


Bild

RPA-Funktionen


Einige Features, die uns in diesem Test begegnet sind:
  • Wenn Sie mit Access unter einem 64-Bit-System arbeiten, müssen Sie die 32-Bit-Datei AccessDatabaseEngine.exe installieren.
  • Im Szenario "Roboter durch Excel" stolperte der Prozess über das Feld "Organisationen" auf der Empfängerkarte. Das Feld in der Karte und das Feld in der Tabelle selbst sind vom Typ "Feld mit Substitution". Als der Vorgang des Schreibens in dieses Feld von Verschlusszeiten von zwei Sekunden umrahmt wurde, stabilisierte sich der Prozess.
  • Der UiPath Studio-Assistent zum Herstellen einer Verbindung zu Datenbanken fügt zusätzliche Anführungszeichen in die Einstellungszeile ein. Dies muss doppelt überprüft werden.
  • Im Feld mit der SQL-Abfrage sollte der Text keinen Wagenrücklauf enthalten, da sonst UiPath Studio einen Fehler zurückgibt. Der Anforderungstext sollte aus einer Zeile bestehen.
  • Es ist sehr praktisch, wenn sich auf der Formularkarte Navigationsschaltflächen befinden: Nächste Karte / Vorherige / Erste / Letzte. Mit solchen Tasten ist es einfacher, den Roboter zusammenzubauen, und er ist im Betrieb stabiler. Dies kann als allgemeine Empfehlung für die Entwicklung einer GUI angesehen werden. Beispielsweise bietet Access in seinen Kartenformularen standardmäßig solche Funktionen.
  • Beim Einrichten von Robotern mussten wir nicht im üblichen Sinne programmieren. Der Algorithmus setzt sich wie ein Diagramm aus Blöcken zusammen. Blöcke werden im Eigenschaftenfenster konfiguriert. Das Konzept von Low Code / No Code hat in unserer Aufgabe wirklich funktioniert.
  • Ein anderes Migrationsszenario ist mit RPA verfügbar - über die Remote-Desktop-GUI. Der Roboter selbst wird lokal gestartet und führt mithilfe von CV und OCR Aktionen im Terminal aus. Daten können direkt über die Zwischenablage übertragen werden.


Die Frage bleibt nach der wirtschaftlichen Machbarkeit. Die Amortisation hängt jedoch stark vom konkreten Implementierungsprojekt und der Verfügbarkeit der Ressourcen ab. Auf der technischen Seite haben wir gute Eindrücke von der Leistung des Roboters und dem Komfort der Entwicklungstools von RPA erhalten.

Source: https://habr.com/ru/post/de479930/


All Articles