RPA Solution Architecture

Post by : Deepak Sharma

I recently wrote a primer about RPA discussing what RPA is, where you can apply it and how you can go about implementing RPA [1]. As I continue to develop my understanding on RPA tools and their solution offering, for individuals like me learning about RPA and for business associates tasked with implementing RPA in their organizations, I thought to share further insight about RPA solution architecture- What it would look like as you implement RPA? What different constituents will be needed for a successful RPA implementation? I created a block diagram as above to depict a typical RPA solution architecture. As you look at this, one thing to quickly realize is that it is not just a single tool but a combination of tooling, platform and infrastructure that is needed for a complete RPA solution. Let me provide some high level details about each of the blocks in the solution architecture as below.

Application under Robotic Process Execution

RPA is best suited for enterprise applications such as ERP for e.g. SAP, Siebel, or massive data/records processing applications such as mainframes, or other similar front office CRM applications or back office administrative platforms. Many of these applications are data intensive with a lot of set up, swivel chair and repetitive process activities.

RPA Tool

I recently shared about the RPA vendor matrix that provide details about major RPA tools [2]. Some of the important capabilities you expect from a RPA tool are–

  • Ability to automate on a variety of application environments such as web, desktop, citrix
  • Ability to develop software robots by recording, configuring, and enhancing them with programming logic such as loops, conditions, etc.
  • Ability to handle exceptions, and synchronization issues
  • Building reusable components that can be applied to multiple software robots allowing for modularity, faster development and easier maintenance
  • Building shared application UI object stores/repositories containing object locators
  • Ability to read/write data through variety of data sources while executing software robots, etc.

RPA Platform

RPA platform, preferably in the cloud, acts as a shared central repository to store all of your software robots and RPA resources created using a RPA tool. RPA assets can be shared across software robots such as reusable robotic components (repeatable sub-processes) library; Application object stores, input/output Data files. These can be stored and managed from the RPA platform accessible to all team members.

The other main capability that an RPA platform provides is the software robots execution orchestration capability- to be able to schedule, distribute and monitor execution of software robots on one or more RPA execution lab machines. The platform then acts as central repository for storing robotic execution logs. Given all the information available about RPA assets and executions, RPA platform further provides ability to develop meaningful analytics about your software robots and their execution statistics.

RPA Execution Infrastructure

RPA execution infrastructure in form of a bank of machines that are either physical, in case a front line BPM user is using a software robot interactively to assist in executing segments of a business process, or are a set of virtual lab machines, that can be scaled up or down based upon usage patterns, on which software robots are executed as unattended for longer business processes not needing human intervention.

Configuration Management

Configuration management is needed for versioning of RPA assets as the underlying application on which software robots are developed may constantly be updated to introduce newer versions, and so would the RPA assets and software robots. Also, as you scale up RPA implementation efforts and multiple members in your team are developing RPA assets at the same time, and given that there are assets that are shareable and reusable across different software robots- it is obvious that source code management capabilities are needed to allow branching and merging of RPA assets.

Further Considerations

  • Many RPA vendors provide RPA tool, platform and infrastructure either as single unified solution or as separate solutions. It may be a good option to buy most of these offerings from the same vendor for better integration
  • There will be a free RPA tools made available soon and this may impact the current RPA market [3]. If you are planning to use the free RPA tool, you may not get a fully featured RPA platform and execution infrastructure capabilities but nonetheless you get something at no cost
  • There isn’t a tool agnostic RPA platform available at the moment, it may be a good idea that such a product is made available in the market in future by an existing RPA vendor or service provider
  • Look for configuration management capabilities in the RPA tool and RPA platform you choose. This may not be a problem early days but as you scale up this is very much a desirable feature.

References

[1]- RPA – Your Digital Assitant is here! , Deepak Sharma, https://www.linkedin.com/pulse/rpa-your-digitial-assitant-deepak-sharma?trk

[2]- RPA Vendor Matrix Assessment, https://www.linkedin.com/groups/8446902/8446902-6222372787584004097?trk

[3] – Free RPA is coming – How this could impact current RPA market?, Deepak Sharma, https://www.linkedin.com/pulse/free-rpa-coming-how-could-impact-current-market-deepak-sharma?trk

 

 

Link to Original Post.