The Evolution of RPA
Robotic Process Automation (RPA) has taken the world by storm in recent years because of its ability to automate mundane tasks that humans are still performing manually. However, automation as a software solution has been around long before the term RPA was widely used. Progressing from script-based automation tools to business process automation to specialized tools for automating tasks in a specific problem space such as network monitoring and management, to name a few. After years of being relegated to IT departments, automation has progressed to what it is today—decentralized and accessible to all employees throughout an organization, from citizen developers to power users.
The Different Types of Process Automation
Today’s RPA tools can execute scripts, have specialized tooling to automate complex business processes, and they have the ability to interact with user interfaces. But RPA tools go way beyond those basic capabilities. At a very high level, automation can be broken down into four categories:
- Front-End Automation
- Back-End Automation
- Native Actions
Specialized actions that target specific business applications
- Intelligent Automation
Machine learning & artificial intelligence for when more critical thinking is needed
Combining these four types of automation gives users the ability to automate a wide variety of tasks. And by including intelligent automation it introduces human decision-making logic into the process.
Front-End Automation: UI Automation
UI automation provides the mechanisms to mimic human interactions with user interfaces such as Windows applications and web browsers. UI automation capabilities generally fall into three categories:
- Legacy and Windows applications
- Browser applications
- Remote desktop applications via RDP, and others
The Windows and browser-based capabilities, for the most part, interact with the underlying controls. For example, the automated action of a button click will cause a “button click” event to be fired on that button. When interacting with a remote desktop, however, the underlying application controls are not accessible to the remote session. Therefore, to mimic a button click on a remote desktop, the RPA application needs to recognize graphical regions that represent the button.
Pros of UI Automation
- Easy to use. Since UI automation mimics the steps that a human takes to complete a task, a non-technical citizen developer can use it to automate their work.
- Only option to automate some applications. Some applications only provide a UI. For example, a browser-based UI may be the only option available to the user to interact with that application. UI automaton may be the only option available for legacy Windows applications as well.
Cons of UI Automation
- Changes to UIs may break automations. User interfaces change frequently for many reasons including improving the user experience or to add features. When a UI is changed, it may break the automation. Sometimes changing the size of a window may cause the application UI to reconfigure itself to provide a better user experience which may also break automations.
- Automating the decision-making process. Many of the UI actions that are performed are a result of some human decision-making processes which are not necessarily captured in the action itself. To represent the thought process, the user will need to extend the recording to represent the decision-making logic.
- Takes over the desktop. The UI automation task takes over the mouse and keyboard to mimic the user actions. As such, the user cannot be working on the computer at the same time.
Modern RPA applications include recorders. Recorders make it much easier to develop UI automations. Recorders fall into two categories:
- Macro Recorders
Macro recorders “watch” the steps the user is performing and then runs those exact steps in the exact same order. While macro recorders make it very easy to create automation, it’s also a “one and done” process that you can’t edit or update.
- Step Recorders
With step recorders, you record each UI action that you need to perform. While it’s more tedious to create automaton, it has many advantages over macro recorders. For example, you can edit and update recordings, debug recordings, and most of all, you’re able to introduce your thought process in terms of business logic into the recording—all from within the recorder.
Back-End Automation: API Automation
API automation is used to reach out to application programming interfaces (APIs) to accomplish a task. For example, you can use API automation to automate the transfer of loan application information from a loan origination service to a loan processing service. Generally, APIs are either web service APIs or HTTP based RESTful APIs. (Note that web services are an older technology that is no longer under active development, and as such, may be deemed obsolete.)
With API automation, the RPA application interacts with a pre-defined interface provided by the external application to perform a task. Exchange of data is done using standard data exchange formats such as XML or JSON.
As API automation involves the transfer of data, the API automation capability must provide not only the capability to connect to APIs, but also the capability to process the data.
Pros of API Automation
- Robustness. One of the biggest advantages of API integration is robustness. APIs rarely change, and even when the provider needs to update an API, they support the older version of the API for some length of time. In addition, API interactions are not impacted by changes to the desktop such as changing a window size or window color scheme.
- Background execution. API automations can be executed while the user continues to use their desktop.
Cons of API Automation
- Technical knowledge required. Working with APIs and common interchange formats requires some technical knowledge. As such, API integration tasks target the power user with some technical knowledge.
Native actions provide user-friendly interfaces to automate activity against a specific application such as an FTP application, Microsoft applications, databases, and more. While UI automation and API automation are generally automations that can be used with multiple applications that support the technology (i.e., an API or UI), native actions are designed to provide a user-friendly interface to automate tasks against a specific application. A native action is provided primarily for one of two reasons:
- The application is widely used in RAP activity, for example, email.
- The application does not provide a UI, nor a standard API, for example, databases. While databases provide UIs to manage the database, in order to execute queries and obtain results in a machine-readable format, the user essentially has to use specific technologies such as database connections. In this case the native action is designed to mask the complexity of working with that application.
Pros of Native Actions
- Easy to use. Native actions are probably the easiest to use as they are custom-built to work with a particular application.
- Robustness. As they are custom-built to work with a particular application, they are robust actions.
- Background execution. Native actions run in the background so the user can continue to work using their desktop.
Cons of Native Actions
- Limited availability. As there are a very large number of applications that span automation, it is almost impossible to provide native actions to all applications.
Intelligent automation is designed to introduce “intelligence” into automation. Similar to custom actions, intelligent automation is custom built. But unlike native actions, it is custom built to satisfy a particular capability, in this case artificial intelligence (AI) and machine learning (ML), rather than a particular application.
AI and ML are complementary technologies. They are used to aid in the decision-making process. Some consider ML as the current state-of-the-art technology for AI, while others consider ML the most widely used specialization of AI. The technology supporting AI and ML is growing at a rapid pace supported by some of the biggest technology companies. As such, the automation community is better served by RPA tools that integrate with industry standard frameworks and industry specific solutions provided by companies that have the expertise, rather than providing their own AI and ML solutions. In this sense, intelligent automation is similar to a custom action that integrates with either a specific AI/ML framework such as TensorFlow or ML.NET, or a specific intelligent solution that is provided by experts in that solution space.
Attended vs Unattended Automation
No discussion about automation is complete without talking about attended vs unattended automation. Unattended automation is an automated work item that can be completed without the intervention of a human being. On the other hand, attended automation requires human input at some point in the automated process. The human input could be as simple as clicking a button or could include more complex scenarios requiring the filling of forms, reviewing data, making corrections, and more.
When we think of state-of-the-art RPA, attended and unattended automation are fundamental capabilities. When comparing attended and unattended automation to the four types of automation discussed previously, they are not types of automation or the tools of automation, rather they are one way to categorize the types of problems that RPA can solve.
Why Automate RPA?
Automate is an RPA solution from Fortra. Automate has over 600 native actions that span front-end automation and back-end automation, and a wide array of custom actions and intelligent automation capabilities. It is a complete RPA solution that our customers count on to transform virtually any business or IT process and brings together the applications that keep their businesses running.
While Automate has many differentiating features, we would like to introduce a few of our most powerful here. In peer reviews and industry publications, Automate is consistently rated at the top for its ease-of-use. That’s because Automate’s no-code approach makes building automation easy for citizen developers, while also providing advanced options for power users to automate more complex tasks. The key advantages of having an easy-to-use RPA tool are twofold:
- Brings RPA to the citizen developer
- Minimizes technical debt
Another key differentiator is that Automate is simply RPA focused. There are many complementary technologies to RPA, for example AI and ML, process discovery, workload scheduling, capacity management, and the list goes on. In Automate, we believe in a best-of-breed tooling approach. We strive to make Automate the best RPA tool that provides a powerful API to integrate complementary technologies. Here too, the advantages are twofold:
- We have a singular focus – provide a solid RPA solution
- Customers can pick and choose the complementary solutions that best suit their budgets and needs
Automate provides an innovative feature set and focuses on usability. Automate also provides an innovative step recorder while our competitors almost exclusively provide macro recorders when the limitations of macro recorders have been well documented. Our innovative features focused on usability are also on display in our JSON action and our approach to AI and ML.
And finally, in peer reviews Automate is constantly rated high in business value created. When combined with our easy-to-use approach that minimizes technical debt, Automate becomes even more attractive from a total-cost-of-ownership point of view. With this holistic approach to automation, Automate allows users to get up and running quickly and see fast ROI.