What is the RPA tool did you used and explain the architecture of the tool?

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 bots offering free trials (provided by Argos Labs), 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 from the cloud.

Key features:

  • 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.

Key features:

  • 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 enables orchestrator 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:

RPA softwareTechnology
Argos Labs Python
Automation Anywhere Java/.Net
UiPath .Net
Blue Prism .Net

As you can see, while most RPA companies use the .Net framework,

Sponsored:

Argos Labs, an upcoming RPA company, is built on Python. Python code can be submitted as plugins to Argos Labs’ RPA+. Python can turn out to be an interesting programming language for RPA. Python is both the 3rd most popular programming language on Github and is among the fastest growing languages in terms popularity according to github, the open source code repository.

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.

What is the RPA tool did you used and explain the architecture of the tool?
Source: Github

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.

What is the RPA tool did you used and explain the architecture of the tool?
Source: Github

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.

Integrations

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:

Get RPA Whitepaper

And if you believe your business will benefit from an RPA solution, feel free to scroll down our data-driven list of RPA software and other automation solutions and tools.

And we can help you through the process:

Find the Right Vendors

Cem is the principal analyst at AIMultiple since 2017. AIMultiple informs hundreds of thousands of businesses (as per similarWeb) including 55% of Fortune 500 every month.

Throughout his career, Cem served as a tech consultant, tech buyer and tech entrepreneur. He advised enterprises on their technology 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 regularly speaks at international technology conferences. He graduated from Bogazici University as a computer engineer and holds an MBA from Columbia Business School.

Cem's work has been cited by leading global publications and companies including World Economic Forum and Washington Post.

Leave a Reply
YOUR EMAIL ADDRESS WILL NOT BE PUBLISHED. REQUIRED FIELDS ARE MARKED *

Comment *

0 Comments

What tool is used in RPA?

In the present time, there are many more vendors who are providing RPA Tools. However, the leading tools in the RPA market are UiPath, Blue Prism, and Automation Anywhere. These tools are most widely used in organizations for various purposes.

What is the architecture of RPA?

The architecture of Robotic Process Automation (RPA) is a combination of several tools, platforms, and various infrastructure elements to form a complete RPA tool.

What is the most used RPA tool?

UiPath Platform. by UiPath. 4.5. ... .
Automation 360. by Automation Anywhere. 4.4. ... .
Blue Prism Intelligent Automation Platform. by SS&C Blue Prism. 4.4. ... .
TruBot. by Datamatics. 4.4. ... .
AutomationEdge. by AutomationEdge. 4.3. ... .
Power Automate. by Microsoft. 4.3. ... .
Appian RPA. by Appian. 4.5. ... .
WorkFusion Intelligent Automation Cloud. by WorkFusion. 4.2..

What kind of architecture is the blue prism RPA tool based on?

They built Blue Prism on the Microsoft.NET Framework. It is technologically adaptable, functioning across several platforms and technologies, such as the mainframe, windows app, WPF app, Java, SAP, Exchange, custom apps, Citrix, thick client, thin client, web services, and so on.