Robotic Process Automation with Optoklik

Robotic Process Automation (RPA) is a fast growing field inside Business Process Automation (BPA). RPA deals with software robots that use human application interface to do some repetitive tasks like starting programs, filling the forms, clicking on buttons etc. Some RPA software tools like Blue Prism, Rapise and UiPath became popular during last years but there are still some problems with them starting with their high price and difficulties to adapt to the real use cases. On the other hand, Optoklik is a relatively small RPA tool developed to be highly adaptable to the real cases and still easy to use. This paper presents the main functions of Optoklik and discusses its usage in automation of different actions that use human application interface.


Introduction
Robotic Process Automation (RPA) is a software based solution to automate rules based processes that can be looked as routine tasks, structured data and deterministic outcomes. The benefits of this approach could be productivity, costs, speed and error reduction, however this topic isn't broadly investigated among academic researches [1][2][3][4]. Leno states that RBA improves the quality of the data (data completeness, data consistency/correctness, etc., but at the same time, RBA suffers from high time consumption mainly for training the robots software. Also, the problem could be if the models that are used for training aren't accurate enough, which could lead to increasing time spent on testing the bots [3][4][5]. Since it is widely accepted many applications were developed of which three are the leading ones: UiPath Studio, Automation Anywhere and Blue Prism [5,7].
UiPath was created in 2005. as an outsourcing company based in Bucharest, Romania, which build an industry standard platform for training and fine tuning software robots. Since then, their source code is being used on billions machines worldwide [7]. Ui-Path simple block diagram is shown on the Figure 1, where it can be seen how algorithm behaves based on implemented rules.
In 2016. UiPath has been designated as a 'RPA Technology Leader' in the recently released Everest Group FIT Matrix -based upon [8]: • Highly capable and flexible technology -encompassing features, implementation and commercial models.   Automation Anywhere was created in 2010., as a re-branching of company named Tethys Solutions, LLC. This software is designed to be very flexible in terms of allowing execution of automated business and IT processes across multiple machines, regardless of computer main CPU speed or Internet connection. It supports centralized approach through server edition which can be useful for users who will develop their own automation processes with centralized security, CMS system or any kind of collaboration via multiple platforms. Automation Anywhere is a leader in this industry and compared to UI-Path it has modern looking user interface which is easy to use if you're familiar with block diagram and basic scripting tools.
Blue Prism first appeared in 2001. as a project of several automation experts who'd like to develop a technology that could be used to improve the efficiency and effectiveness of organizations. As Issac noted, they saw the opportunity and the need for automation in white-collar back office. The example of this technology is shown in the Figure 3. Optoklik is a small RPA tool developed with a goal to achieve easier adaptability to the real cases by using simple user interface. It enables basic operations like clicking on different clickable objects, entering text, simple scripting and interconnecting with the scripts in different scripting languages, like Perl and Python. Optoklik uses two main program windows: the main user interface and the scripting user interface.

The Main User Interface
The purpose of the main user interface (Figure 4) is mostly to isolate and save the images of clickable objects. For that reason, Optoklik can get the screenshot containing one or more clickable objects. Such objects can be isolated by selecting and saved for further use, when they will be recognized on the page and activated by different events like mouse click, mouse double click etc.
The main user interface can also be used for testing purposes, to check if some clickable object can be found and recognized on the screen.

Optoklik script interface
Optoklik script interface ( Figure 5) is used to write and execute simple scripts. The upper part of the script window contains the list of available instructions that can be used in the editor part. The main instructions used in scripting are as follows: SCR -takes the screenshot. This enables searching of previously saved clickable objects and, later, clicking on them (or just moving cursor on them and similar) <filename>.bmp defines searching and moving cursor to the first occurrence of the previously saved image on the screen. If the image didn't found, the information about that is written to the action log.
<filename>.bmp(2) searches for the second occurrence of the image. <filename>.exe -starts the executable file.
<number> represents pause in milliseconds.

Conclusions
Robotic Process Automation (RPA) offers important benefits inside Business Process Automation (BPA) but still require a lot of preparation work to establish the RPA systems. User interfaces of different commercial tools, like Blue Prism, Rapise and UiPath are complex and it's not always easy to debug such kind of applications. On the other hand, Optoklik is an easy to use and highly adaptable software tool that, despite of the lack of some advanced functionalities like orchestration of many software robots, still offer enough possibilities to automate some typical office tasks. The user interface of Optoklik is simple and divided into two main windows, where one has the purpose of extracting images of clickable object, and another with the purpose of writing scripts. In addition, there is a possibility to call Optoklik from different scripting languages, like Perl and Python. In that case, the programmer can use all usual program constructs to manage the RPA system. In the future work, some more advanced functionalities are planned, like using of COM interface and Optical Character Recognition (OCR).