Introduction
Auparavant sur Habr, le sujet a été abordé en détail . À l'époque, cet article m'a beaucoup attiré car il dévoile des éléments similaires à ceux de la création de robots. Étant donné que, dans le cadre de ma profession, je m'occupe de l'automatisation des processus d'affaires (RPA - un domaine pour lequel il n'existait pas d'alternatives OpenSource pleinement fonctionnelles jusqu'à récemment), ce sujet m'était très pertinent.
Les principales solutions IT existantes en matière de RPA (UI Path, Blueprism, Automation Anywhere et d'autres) ont 2 problèmes majeurs :
- Problème 1 : Limitations techniques de la fonctionnalité de la plateforme, puisque les scripts des robots sont créés uniquement dans une interface graphique (oui, il y a la possibilité d'appeler du code, mais cette option a certaines restrictions)
- Problème 2 : Une politique de licence de vente de ces solutions extrêmement coûteuse (pour les plateformes de premier plan environ 8000 $ par robot à fonctionnement constant par an). Créez une dizaine de robots pour accumuler une somme importante annuelle en conceptions de licences.
Étant donné que ce marché est très jeune et très actif, vous pourrez déjà trouver facilement sur Google 10+ solutions d'automatisation avec des politiques tarifaires variées. Mais jusqu'à récemment, il était impossible de trouver une solution OpenSource pleinement fonctionnelle. Et il s'agit bien d'un OpenSource pleinement fonctionnel, car des solutions d'automatisation partielles peuvent être trouvées, mais elles n'offrent qu'une partie des technologies clés sur lesquelles repose le concept de RPA.
Sur quoi repose donc le concept de RPA ?
RPA () — c'est l'une des formes les plus économiquement avantageuses d'atteindre un objectif. Comme la RPA suppose de ne pas renoncer aux systèmes hérités de l'entreprise, mais de créer le script d'automatisation nécessaire basé sur ces systèmes mêmes — cela porte ses fruits tant en termes de rapidité de développement (car il n'est pas nécessaire de retravailler le zoo de systèmes existants), qu'en termes de résultats commerciaux (économie , augmentation du chiffre d'affaires de l'entreprise, réduction des coûts de l'entreprise).
Les outils RPA reposent sur les technologies suivantes :
- gestion des pages web ouvertes dans le navigateur ;
- gestion des applications GUI de bureau ouvertes ;
- gestion de la souris et du clavier (pressions de touches, raccourcis, boutons de la souris, déplacement du curseur);
- recherche d'éléments graphiques sur l'écran du bureau pour effectuer des actions ultérieures avec la souris et/ou le clavier;
Grâce à de nombreuses années d'expérience pratique, nous avons pu démontrer que cet ensemble de technologies permet de robotiser pratiquement n'importe quel processus commercial ne nécessitant pas de reconnaissance ou d'application d'intelligence artificielle (dans ces cas, il est nécessaire de connecter au robot les bibliothèques appropriées disponibles dans le monde de l'IT). L'absence d'au moins un des outils susmentionnés affecte considérablement les capacités de RPA.
Il est vrai que tous les outils RPA sont disponibles sur Internet. Qu'est-ce qui manque alors?
Mais il manque l'essentiel — il manque leur intégrité. Une intégrité qui permettra de réaliser l'effet de synergie de l'utilisation de différents outils (web, gui, souris, clavier) dans un seul script de robot, ce qui est souvent une nécessité (comme le montre la pratique) lors du développement. C'est cette clé possibilité qui est offerte par toutes les meilleures plateformes RPA, et maintenant cette possibilité est fournie par
Comment fonctionne OpenRPA?
est un projet OpenSource basé sur le langage de programmation Python 3, qui se compose des meilleures bibliothèques Python existantes, permettant de réaliser les outils nécessaires pour la plateforme RPA (voir la liste des outils clés RPA ci-dessus).
Liste des bibliothèques clés:
- pywinauto;
- selenium;
- keyboard;
- pyautogui
Comme toutes les bibliothèques ne sont pas conscientes de l'existence les unes des autres, OpenRPA a mis en œuvre une fonction essentielle de la plateforme RPA qui permet de les utiliser ensemble. Cela se manifeste particulièrement lors de l'utilisation de la bibliothèque pywinauto pour contrôler les applications GUI de bureau. Dans ce domaine, des compléments fonctionnels ont été apportés à la bibliothèque, atteignant un niveau de fonctionnalité comparable à celui proposé par les meilleures plateformes RPA (sélecteurs pour les applications GUI, indépendance de la résolution, studio de création de sélecteurs, etc.).
Conclusion
Le monde de l'informatique moderne est aujourd'hui si ouvert à tous qu'il est difficile d'imaginer qu'il existe encore des domaines où seuls des solutions sous licence payante dominent. Étant donné que cette politique de licence limite fortement le développement de ce secteur, j'espère que nous pourrons inverser cette tendance : pour que toute entreprise puisse se permettre l'automatisation des processus robotisés (RPA) ; pour que nos collègues informaticiens puissent facilement trouver un emploi dans la RPA, quelles que soient les conditions économiques de leur région (aujourd'hui, les régions à faible économie ne peuvent pas se permettre la RPA).
Si ce sujet vous intéresse, je peux ultérieurement rédiger un tutoriel spécialement pour Habr sur l'utilisation d'OpenRPA — écrivez dans les commentaires.
Merci à tous et bonne journée !
Source : habr.com
