What is RPA (really)?
There is a lot of buzz in the market about Robotic Process Automation, but what is RPA really? Software vendors and consultants have promised a world in which a full army of AI Robots will make business so intelligent it will free people up to focus on more important tasks instead of the time-consuming mundane tasks that they are performing today. Phrases like “A Robot for Every Person” and “Automate Your Life” are frequently used. Both of these statements are very ambitious. This will not happen overnight without a lot of work and frankly a real understanding of what RPA really is.
To get an understanding of RPA, it’s best to start at the beginning.
RPA, in fact, has been around for a long time. In the era of Digital Mainframes (i.e. Character Based Terminals) there was a need to script and screen scrape data from that platform in an effort to automate repetitive entry and extract the data. Since many of the early databases were “proprietary” and closed, this became a necessity in areas such as healthcare, finance, and utilities.
While scripting couldn’t technically be done on the terminal themselves, third-party applications that emulated the character based application on a modern desktop became more prevalent. Emulators provide an API (Application Program Interface) which allowed a user to natively exact contents of the screen, the location of the cursor and the ability to send keys and commands to the application. To be frank, this is the most reliable RPA process ever created. The reason being, as a scripter you have accurate characters and you know where the user is in the application. You have a 100% reliable way of sending keys to the application.
The next evolution of RPA came with the Windows Operating System.
Microsoft has always provided a way of interacting with applications, especially ones developed using C++, COM, and .NET. The Win32 API has always been a staple of any windows operating system. It is still absolutely necessary for today’s most advanced automation needs. As time went along, Microsoft created various versions of an accessibility package that allows people with different impairments to interact with their applications. That also provided another way an Automation developer could automate any Windows-based application.
In the 90’s and today, web-based automations are popular and have gotten increasingly more reliable especially with web plugins which allow any automation application or program to get a clear view of the nature of the web page it is interacting with is.
The biggest momentum behind RPA today is the ability to read a screen regardless of what type it is (i.e. Citrix, RDP etc.).
This can be done utilizing character recognition, image matching techniques, and the old fashion clipboard. However, these types of automation projects are frequently less reliable. Environmental factors such as a small change in desktop resolution can completely break someone’s RPA process.
Before undertaking any RPA project, it is best to understand what you are automating. One must set realistic expectations of getting as close to the “100% success factor” which’s the goal of RPA projects. An organization that has access to professionals that can lead an RPA project through the Analysis, Development, Acceptance and Support phases will ensure success. All are critical to the life cycle of an RPA process and will return value on the investment.