We refuse paid RPA platforms and are based on OpenSource (OpenRPA)

Introductory

Earlier on HabrΓ©, the topic was covered in great detail. Automation of desktop GUI applications in Python. At the time, I was very attracted to this article, because it reveals elements similar to the elements of creating robots. And since by the nature of my professional activity I am engaged in the robotization of company business processes (RPA is an area in which there were no fully functional OpenSource analogues until recently), this topic was very relevant for me.

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

  • Problem 1: Technical limitations of platform functionality as robot scripts are created only in the graphical interface (yes, there is the ability to call the program code, but this feature has a number of limitations)
  • Problem 2: Extremely expensive licensing policy for selling these solutions (For top platforms about 8000$ for one constantly working robot per year). Make a dozen robots to hit the big annual royalties.

Since this market is very young and very active, now you can easily find 10+ robotization solutions on Google with different pricing policies. But a fully functional OpenSource solution, until recently, was impossible to find. Moreover, we are talking about full-featured OpenSource, because partial free robotization solutions can be found, but they offered only part of the key technologies on which the RPA concept is based.

What is the concept of RPA based on?

RPA (Robotic Process Automation) is one of the most cost-effective forms of achieving the goal. Since RPA does not intend to abandon all sorts of legacy company systems, but to create the necessary automation script based on these very systems, this bears fruit both in terms of development speed (because there is no need to redo the existing zoo of systems) and in terms of business results. (saving FSE/FTE, increasing the company's revenue, reducing the company's expenses).

RPA tools are based on the following technologies:

  • management of open web pages of the browser;
  • management of open desktop GUI applications;
  • mouse and keyboard control (keystrokes, hotkeys, mouse buttons, cursor movement);
  • search for graphic elements on the desktop screen for further mouse and/or keyboard actions;

With many years of practical experience, we have been able to show that it is this set of technologies that makes it possible to implement the robotization of almost any business process that does not require an element of recognition / application of artificial intelligence (in these cases, it is required to connect the corresponding libraries available in the existing IT world to the robot). The absence of at least one of the above tools significantly affects the capabilities of RPA.

After all, all RPA tools can be found on the Internet. What then is missing?

But the most important thing is missing - their integrity is missing. Integrity, which will allow you to realize the synergistic effect of using various tools (web, gui, mouse, keyboard) in one robot script, which is often a necessity (as practice shows) during development. It is this key opportunity that all top RPA platforms provide, and now this opportunity has begun to be provided by the first OpenSource RPA platform OpenRPA

How is OpenRPA organized?

OpenRPA is an OpenSource project based on the Python 3 programming language, which consists of the best existing python libraries that allow you to implement the necessary tools for the RPA platform (see the list of key RPA tools above).

List of key libraries:

  • pywinauto;
  • selenium;
  • keyboard;
  • pyautogui

Since all libraries do not know about the existence of each other, OpenRPA implements the most important feature of the RPA platform, which allows them to be used together. This is especially evident when using the pywinauto library to control a desktop GUI application. In this area, the functionality of the library was supplemented to the level of functionality that is offered in the best RPA platforms (selectors for GUI applications, discharge independence, selector creation studio, etc.).

Conclusion

The modern IT world is so open to everyone today that it is even hard to imagine that there are still areas where only paid licensed solutions dominate. Since this licensing policy severely limits the development of this area, I hope that we will be able to reverse this situation: so that any company can afford RPA; so that our IT colleagues can easily find a job in RPA, regardless of the economic situation in their regions (today, regions with a weak economy cannot afford RPA).

If this topic is of interest to you, then in the future I can make a tutorial specifically for Habr on using OpenRPA - write in the comments.

Thank you all and have a nice day!

Source: habr.com

Add a comment