RPA Tests de vitesse du robot logiciel

Présentation


Il y a quelques jours lors d'un événement interne, mes collègues et moi avons discuté du sujet de la robotisation des processus sur les projets de mise en œuvre d'un EDMS. Les nouvelles de RPA et les avis des fournisseurs indiquent que nous pouvons remplacer le connecteur API par un robot logiciel. Autrement dit, utilisez un RPA pour transférer de grandes quantités de données.

Les sceptiques pensent que l'APR est une «béquille», ersatz. Et si la situation nécessite une interaction complète des applications, le RPA ne fonctionnera pas et vous avez toujours besoin d'un connecteur API.
Nos vendeurs et spécialistes de la mise en œuvre remplissent la tâche de migration des données dans chaque projet.

Une caractéristique de la migration est un volume important et une période très courte. La société est prête à allouer pour cela seulement 2-3 jours. Les spécialistes de la mise en œuvre se préparent très soigneusement, planifient littéralement leur travail en quelques minutes. Les développeurs préparent les utilitaires.

Une question logique a été soulevée: dans quel délai le robot pourra-t-il faire glisser au moins plusieurs milliers d'enregistrements d'une base de données à une autre?

Dans un article précédent ( lien ), nous avons examiné les RPA d'Automation Anywhere. Cette fois, nous allons tester le robot d'un autre studio bien connu - UiPath RPA. Nous allons tester la vitesse de travail: transférer 64 000 enregistrements d'une base de données à une autre.

À titre de comparaison, nous procéderons de plusieurs manières:
  • connecteur API de bas niveau sur le PJ;
  • robot via l'API intégrée;
  • un robot via un fichier Excel intermédiaire dans la fiche de la base finale;
  • un robot du formulaire de carte source à la carte de formulaire de base finale;
  • mains de carte en carte.


Le résultat peut être utile pour «réfléchir» aux développeurs, aux administrateurs et à tous ceux qui recherchent un moyen d'établir l'interaction de logiciels disparates, en évitant une programmation approfondie.

De plus, nous décrivons certaines caractéristiques de l'UiPath RPA que nous avons rencontrées dans notre mini-étude.

Dans cet article, nous allons réduire l'économie - ce sujet mérite un examen séparé et détaillé. Nous n'indiquerons que les circonstances spécifiques à chaque scénario.

Alors, la tâche: transférer la liste des contacts de la base de données source vers la base de données de destination.
Le nombre d'enregistrements - 64 000 pièces. Chaque entrée contient le nom, le prénom, l'adresse e-mail et l'organisation.
Les bases de données source et de destination sont de simples bases de données MS Access avec une table pour stocker les contacts et un formulaire pour afficher un contact individuel.

Une brève description de chaque scénario


Connecteur API


Il est prévu que le développeur possède des compétences API pour les deux systèmes et ait accès à la base de données. Dans notre exemple, nous allons écrire un connecteur dans le langage VBA intégré de MS Access.
Les noms des champs dans la source et le récepteur peuvent ne pas coïncider - dans le code, nous configurons nous-mêmes les données que le connecteur prend de la source et où il les écrit sur le récepteur.
Le programme a transféré la totalité des données en 26 secondes.

Robot API


Il est prévu que le robot sera en mesure de configurer l'administrateur du système actuel. Pour ce faire, vous devez suivre une formation en développement RPA, la formation est gratuite auprès de nombreux fournisseurs.
Une connaissance approfondie de DAO n'est pas requise. Pour travailler avec des bases de données au niveau "bas", le RPA dispose d'un ensemble de commandes spéciales - activités de base de données. Les paramètres de connexion requis sont définis par UiPath à l'aide de l'assistant lui-même. Nous avons pris la ligne de la requête SQL directement à partir du concepteur de requêtes Access.

L'essentiel est que les rubriques des champs coïncident dans les bases de données initiale et finale. Dans ce cas, l'ordre des champs dans la demande n'est pas important.
Le robot a tiré le volume entier en 1 min 52 sec. Bien que plus longue que le connecteur API, la commande est toujours proportionnée.

Robot via Excel


Nous avons cela à partir de la plupart des SGBD, vous pouvez exporter des données vers un format intermédiaire - xls, xlsx, xml, html, csv. Le robot UiPath peut travailler directement avec de tels fichiers via les activités intégrées.

Le développeur RPA devrait être familier avec l'interface du programme source afin de télécharger des données dans un fichier intermédiaire. Vous devez également connaître l'interface graphique du programme récepteur de données. Autrement dit, un administrateur qualifié se chargera de la tâche.

Nous exportons la liste de tous les contacts dans un fichier Excel. Depuis Excel, les données peuvent être lues comme suit:
  • entièrement dans une variable de type DataTable (mais vous devez prendre en compte la quantité de RAM et connaître la structure des données de ce type);
  • peut être des lignes (moins de mémoire requise);
  • mais vous pouvez prendre une cellule à la fois (la mémoire est presque libre + l'assemblage du robot est plus facile, DataTable n'est pas utilisé). Nous ferons la dernière option.

Du côté du système final, le robot ouvre une fiche de formulaire pour un nouvel enregistrement et la remplit avec des données d'Excel.
En 10 min 24 sec, le robot a migré 64 enregistrements. Autrement dit, ~ 173 heures prendront un transfert complet. La raison de ce ralentissement est le temps de démarrage de l'interface graphique dans chaque opération.

Robot carte à carte


Il est prévu que l'utilisateur personnalisé puisse configurer un tel transfert. Il vous suffit de vous familiariser avec le cours simplifié de développement de l'APR (1-2 jours d'étude). De toutes les méthodes robotiques, c'est la plus facile à développer.
Ici, le robot agit comme un «clicker» avancé: trouver le champ dans la carte source => prendre sa valeur => trouver le champ dans la carte destinataire => insérer la valeur => cliquer sur «enregistrer».

Nous avons pris des cartes standard. Access génère de telles fiches sans aucune programmation.
Durée de fonctionnement 9 minutes 02 secondes pour 64 enregistrements. Soit ~ 151 heures pour un transfert complet.

Transport manuel


Il est prévu qu'un utilisateur ordinaire du système se charge de cette tâche. Le niveau de compétences requises est le plus bas: seule la connaissance de l'interface du logiciel source et du logiciel destinataire est suffisante. Aucune formation supplémentaire requise.

Nous utilisons la souris et Ctrl + A, Ctrl + C, Ctrl + V, Alt + Tab et les mêmes cartes.
Le transfert de 10 enregistrements a pris 5 minutes. Soit: ~ 533 heures pour tout le volume. Et ce n'est que du pur temps fait à la main. Et une personne doit se reposer, être distraite par d'autres tâches et corriger les erreurs de sa propre négligence. Si le robot remplace une personne en opération par l'interface graphique, le processus gagne en vitesse plusieurs fois.
Les résultats globaux sont résumés dans les tableaux ci-dessous.

Résumé des résultats


image

Caractéristiques RPA


Plusieurs fonctionnalités qui nous ont rencontrés dans ce test:
  • lorsque vous travaillez avec Access sous un système 64 bits, vous devez installer AccessDatabaseEngine.exe 32 bits;
  • dans le scénario «Robot via Excel», le processus a «trébuché» sur le champ «Organisations» de la carte du destinataire. Le champ dans la carte et le champ dans la table elle-même sont du type "Champ avec substitution". Lorsque l'opération d'écriture dans ce champ a été encadrée par des vitesses d'obturation de deux secondes, le processus s'est stabilisé;
  • L'assistant UiPath Studio pour la connexion aux bases de données insère des guillemets supplémentaires dans la ligne des paramètres - cela doit être revérifié;
  • dans le champ contenant la requête SQL, le texte ne doit pas contenir de retour chariot, sinon UiPath Studio renvoie une erreur. Le texte de la demande doit être composé d'une seule ligne;
  • C'est très pratique quand il y a des boutons de navigation sur le formulaire sur la fiche du formulaire: carte suivante / précédente / première / dernière. Avec de tels boutons, il est plus facile d'assembler le robot et il sera plus stable en fonctionnement. Cela peut être considéré comme une recommandation générale pour le développement d'une interface graphique. Par exemple, Access dans ses formulaires de carte fournit de telles fonctionnalités par défaut;
  • lors de la mise en place de robots, nous n'avons pas eu à programmer dans le sens habituel. L'algorithme est assemblé à partir de blocs, comme un diagramme. Les blocs sont configurés dans la fenêtre des propriétés. Le concept de code bas / pas de code a vraiment fonctionné dans notre tâche;
  • Un autre scénario de migration est disponible avec RPA - via l'interface graphique du bureau à distance. Le robot lui-même est lancé localement et à l'aide de CV et OCR, il effectue des actions dans le terminal. Les données peuvent être transférées directement via le presse-papiers.


La question demeure de la faisabilité économique. Mais le retour sur investissement dépend fortement du projet de mise en œuvre spécifique et de la disponibilité des ressources. Sur le plan technique, nous avons eu de bonnes impressions des performances du robot et de la commodité des outils de développement de la RPA.

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


All Articles