NEO: Are there more programs like you?
ORACLE: No, not like me, but… Look. See those birds? At one point a program was written to govern them. A program was written to take care of the trees, and the wind, and the dawn, and the sunset. There are programs running everywhere. Those who do their job, those who do what they have to do… are invisible. You would never know they were here. But the others… well… you hear about them all the time.
The programs that the Oracle speaks of in this Matrix Reloaded scene, those that run everywhere and that if they do their job well are invisible, in our particular Matrix universe, we call them software robots.
But what is a software robot? What is the difference between a conventional robot and a software robot?
The main difference is that a conventional robot is a physical element, while a software robot is a program like those of Matrix, which controls other programs. In the world of business process automation, we add one more specific feature: software robots mimic the performance of a user.
In this way, at a simple stage of the technique, a software robot can open a browser, go to the home page of our bank, enter the access credentials, obtain the list of movements and save them in a file. All this, without the software robots, would require integration with the banking platform of the shift, something unfeasible for practical purposes for a normal user.
However, with software robots, programs that mimic our user behavior to achieve an objective, we obtain the desired banking movements without the need of the bank itself. To barelydistinguish whether the system is a person or a program is the essence of our software robots (or as we call this type of programs: robot software).
With this approach in mind, this specific programming for the creation of software robots could be considered robotization.
There is a big difference, in terms of difficulty, between integrating several systems to collect the information available in them and “using” those systems for the same purpose.
The first way is the traditional and familiar way, full of technological obstacles and complexities. In addition, it requires a certain collaboration on the part of the intellectual owners of these systems and is an unviable path when we talk about software that we cannot modify or of which we do not have its source code or from which we cannot obtain access to the database where the information we are looking for is stored. This first way is not viable if we are only the users of the systems in which we want to automate some task.
The second way, much more novel and above all within reach, makes it possible to obtain this information without having to modify the systems used in any aspect. It also eliminates the need to understand the technology they use, the data model that supports their information, and so on. This second way is a process of imitation, by means of the execution of a software robot, the activities carried out by a human user.
Therefore, if a user wants to collect all the information from his bank, he could program a software robot to perform that task. This robotization would consist of imitating the user himself in his interaction with the different portals of the banks, once designed and built the robot can be executed when desired, periodically or on demand. All the information obtained could, for example, be transferred to a spreadsheet, again using the spreadsheet program and not composing a file in a more computerized way.
These robots, developed in the appropriate programming language, could even be built by the users themselves, it would be something like an evolution of macros that advanced users could know, but controlling more than one application if necessary.
Novayre has developed the Jidoka platform to exploit this type of technology. With Jidoka, an advanced user can build his own robots and put them to work when he needs them. Jidoka allows the construction of robots in different programming languages and also supports the possibility of starting them periodically or when the user requires it. These robots run on different machines simultaneously, having total control over them.
Are you building robots?