We are moving away from paid RPA platforms and relying on OpenSource (OpenRPA)

Introduction

Previously on Habr, the topic Automation of desktop GUI applications in Python. At that time, I was very much attracted by this article because it reveals elements similar to those involved in robot creation. Since my professional activity involves automating business processes in the company (RPA - a field that lacked fully functional open-source analogs until recently), this topic was highly relevant for me.

The top existing IT solutions in the RPA field (UI Path, Blueprism, Automation Anywhere, and others) have two significant problems:

  • Problem 1: Technical limitations of the platform's functionality, as robot scripts are created only in a graphical interface (yes, there is an option to call program code, but this option has several limitations)
  • Problem 2: Extremely expensive licensing policies for these solutions (For top platforms around $8000 per year for a single continuously operating robot). Create a dozen robots to reach a significant annual cost in licensing fees.

Since this market is very young and active, you can already easily find 10+ robotic solutions with various pricing policies on Google. However, a fully functional open-source solution has been impossible to find until recently. Moreover, we are talking specifically about a fully functional open-source solution because partial free robotic solutions can be found, but they offered only part of the key technologies that underlie the RPA concept.

What is the foundation of the RPA concept?

RPA (Robotic Process Automation) is one of the most cost-effective ways to achieve the goal. RPA means not abandoning any of the company’s legacy systems, but rather creating the necessary automation script based on these very systems — this yields benefits both in terms of development speed (because there’s no need to redo an existing zoo of systems) and in terms of business results (savings PUSH/FTE, increased company revenue, reduced company expenses).

The tools of RPA are based on the following technologies:

  • management of open web pages in the browser;
  • management of open desktop GUI applications;
  • mouse and keyboard management (key presses, hotkeys, mouse buttons, cursor movement);
  • search for graphical elements on the desktop screen for further actions using the mouse and/or keyboard;

Through years of practical experience, we have shown that this set of technologies allows for the automation of virtually any business process that does not require elements of recognition/applying artificial intelligence (in these cases, it is necessary to connect the robot to the relevant libraries available in the existing IT world). The absence of even one of the aforementioned tools significantly impacts RPA capabilities.

All RPA tools can be found on the internet. So what is lacking?

What is lacking is the most important thing — their integrity. Integrity that allows for the realization of the synergistic effect from using various tools (web, GUI, mouse, keyboard) in one robot script, which is often a necessity (as practice shows) during development. This key capability is provided by all top RPA platforms, and now it is offered by the first OpenSource RPA platform OpenRPA

How is OpenRPA structured?

OpenRPA is an OpenSource project based on Python 3, consisting of the best existing Python libraries that enable the necessary toolkit of the RPA platform (see the list of key RPA tools above).

List of key libraries:

  • pywinauto;
  • selenium;
  • keyboard;
  • pyautogui

Since all libraries are unaware of each other's existence, OpenRPA implements a crucial function of the RPA platform that allows them to be used together. This is particularly evident when using the pywinauto library to control desktop GUI applications. This area has seen enhancements to the library's functionality to match the level offered by the best RPA platforms (selectors for GUI applications, architecture independence, selector creation studio, etc.).

Conclusion

The modern IT world is so open that it's hard to believe there are still areas dominated solely by paid licensed solutions. Since this licensing policy significantly restricts the development of this field, I hope we can change the situation: so that any company can afford RPA; so that our IT colleagues can easily find work in RPA regardless of the economic situation in their regions (currently regions with weak economies cannot afford RPA).

If this topic is of interest to you, I can create a tutorial specifically for Habr on using OpenRPA — please leave a comment.

Thank you all and have a great day!

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster