Though everyone seems to be talking about RPA, there are very few sources on how RPA works, the software architecture and technology behind it. Different RPA platforms’ product choices will impact how your organization will build upon the RPA platform it chooses.
In this article, we explore important aspects of RPA components and architecture.
What are RPA components?
For RPA bots to replicate human tasks, they need the following components:
1. The bot
The bot is the most fundamental unit in an RPA tool, and there are already free RPA bots, those with limited functionality (Workfusion RPA Express and UiPath Community Edition) or completely free open-source RPA software for individual users (Robocorp and Robot Framework).
Robots can be run from employees’ desktops or the cloud.
- Integrations are necessary for your bot to work with your enterprise applications. It is also possible for the bot to screen scrape and still perform tasks however it is more reliable to have app integration compared to screen scraping as screen scraping tends to have a higher probability of causing errors. Most bots in the market work with legacy applications (though coverage depends from vendor to vendor), web applications, desktop applications and other major enterprise software including SAP, Citrix, Java and mainframe applications.
- Programming interfaces are required because bots need to be programmed. RPA programming is relatively simple compared to other types of programming and there are no-code RPA development platforms, as well as open source low code platforms in the market. We explain different ways of programming RPA bots in detail in our RPA tools article.
2. Orchestration module
Management console for the bots and processes. Orchestration modules allow you to start/stop or schedule bots and analyze bot activity. Orchestrators highlight issues that bots encounter and provide a dashboard for the processes that are managed by RPA.
- Business exception handling: No matter how well programmed, bots will run into issues with the diverse data they encounter. These exceptions need to be highlighted, managed via queues and seamlessly assigned to personnel to be resolved before they lead to any bottlenecks or delays for customers in your processes.
- Different user access levels: Several user access levels enable orchestrators to be used by different personnel for various functions.
- Analytics capabilities: Bots will be working with legacy systems uncovering a trove of data that may not be available in other analytics modules. Capabilities to run advanced analysis and combine different data sources are critical
Deloitte UK has a nice video on how RPA works on a simple example that shows the bot extracting and processing data from an email:
3. Programming language/framework
Programming language of the RPA tool allows developers to build custom modules for it. Customizations to RPA are interesting because
- They are necessary for complex processes
- RPA marketplaces allow developers and companies to monetize their custom-built RPA solutions
Any customizations to RPA tools would need to be made available in the programming language of the RPA tool. Though developers can always use a language of their choice, build an API and write a wrapper for that API in the programming language of the RPA tool, this is a rather time consuming way to create custom code for RPA bots.
You can find below the programming languages used in top RPA tools that disclose this information:
As you can see, while most RPA companies use the .Net framework.
When you look at top programming languages by contributors as of September 30, 2018 from github, .Net is represented by a single programming language, C# which is the 5th most popular programming language by contributors while Python is 3rd on the list.
It is also note-worthy that Python is still in github’s fastest growing languages by contributors list as of September 30, 2018. This is remarkable as Python is the only language in this list out of the top 5 most popular programming languages by contributors.
Explore RPA programming in more details.
Capability to interact with other software
These capabilities come in different forms, such as:
Computer vision capabilities
Computer vision is critical for RPA software to function in virtual desktops.
While all RPA tools integrate with the Windows OS, issues arise in case of desktop virtualization. As IT professionals are intimately familiar, in desktop virtualization, end users get served images from a server rather than using the OS on their end user machine. This prevents RPA software from accessing application attributes from the OS. As a result, RPA tools’ computer vision capabilities become important. For example, when one looks at the technical journey of UiPath, it is clear that a significant share of their effort has been focused on getting screen scraping and computer vision to work better.
The best way to test computer vision capabilities of an RPA tool is a PoC on a virtualized desktop.
While RPA bots can use computer vision to interact with UX, in cases where Citrix or other virtualization solutions are not installed, it is less-error prone for bots to interact directly with other software via integrations. For example an RPA bot that will pull records from Salesforce, can do so more faster and with fewer errors via software integration, compared to getting the same records via the UX using computer vision.
Taking list of integrations of each RPA solution provider and comparing against your software stack should give a good estimate idea about whether the RPA solution provider provides the necessary integrations. However, please note that integrations are a secondary topic, especially when working with leading RPA platforms. They are all already integrated to most common solutions anyway.
For more on RPA
While these are architectural aspects of RPA, there are other technical aspects of RPA important for deciding which RPA tool to use. Read our RPA guide for technical buyers to learn more.
To explore RPA in detail, feel free to download our in-depth whitepaper on the topic:
And we can help you through the process:
Cem has been the principal analyst at AIMultiple since 2017. AIMultiple informs hundreds of thousands of businesses (as per similarWeb) including 60% of Fortune 500 every month.
Cem's work has been cited by leading global publications including Business Insider, Forbes, Washington Post, global firms like Deloitte, HPE, NGOs like World Economic Forum and supranational organizations like European Commission. You can see more reputable companies and media that referenced AIMultiple.
Throughout his career, Cem served as a tech consultant, tech buyer and tech entrepreneur. He advised businesses on their enterprise software, automation, cloud, AI / ML and other technology related decisions at McKinsey & Company and Altman Solon for more than a decade. He also published a McKinsey report on digitalization.
He led technology strategy and procurement of a telco while reporting to the CEO. He has also led commercial growth of deep tech company Hypatos that reached a 7 digit annual recurring revenue and a 9 digit valuation from 0 within 2 years. Cem's work in Hypatos was covered by leading technology publications like TechCrunch and Business Insider.
Cem regularly speaks at international technology conferences. He graduated from Bogazici University as a computer engineer and holds an MBA from Columbia Business School.
To stay up-to-date on B2B tech & accelerate your enterprise:Follow on
Next to Read
Your email address will not be published. All fields are required.