In this instalment of the RPA Implementation Lifecycle series, we will continue our focus on the Design phase, Exploring the very significant subject of multi-layered Solution Architecture in an RPA implementation.
Our head of Robotic Process Automation ‘Deepak Sharma’ published a white paper by the name Design Centric Approach back in late 2017 when RPA as a concept was starting to take a grip. The paper discussed some key issues that were arising due to a lack of proper design.
Some of these issues include ending up in a single layer solution because of a record based tactical approach. A skills gap in the market owing to the very proprietary nature of the tooling, and not implementing RPA as a collaborative effort between business and IT.
Fast forward to 2020, RPA tools in terms of their technical capabilities have evolved significantly. However, the solution architecture and design still remain one of the most important considerations for successful RPA implementations. To re-iterate some of the important needs for having a good multi-layered Solution architecture you will need to be able to;
- Automate processes of varying degree and complexity
- Involve both Process SMEs and Automation developers in the implementation process
- Integrate RPA with other major adjacent automation tools & technologies such as within AI and Analytics areas
- Simplify RPA development & maintenance activities and the skill level required
- Promote reuse of code by developing internal reusable automation components or by consuming external third party components from marketplaces
- Extend the tool for specific needs and develop custom integrations
To meet these needs, the following conceptual model presents a multi-layered solution architecture for RPA implementations,
The different layers of the solution architecture can be briefly described as the following.
Process Layer– This is the business domain-specific layer containing workflow models designed by the Process SMEs for the business process and sub-processes to be automated. Process models can be developed within an RPA tool, or developed outside and imported into an RPA tool. They can be developed with the help of other techniques such as Process mining
Application Layer- This is the automation implementation layer grouped by application-level tasks that can be developed by business users or automation developers as low-code to medium code solution, and depending upon the complexity of the automation via UI or API interfaces, can be modularised and implemented using existing internal or external reusable automation.
Integration Layer- This is the automation implementation layer which integrates with other technologies needed to solve specific automation problems. Other technologies such as Machine Learning Models are available pre-trained from external vendors or custom-built internally, integrating RPA with physical devices such as IoT, a mobile device, or a Chatbot. Integrations can be built by automation developers extending the RPA tool with custom libraries or consuming third party solutions.
Tool Layer- This is the foundational layer provided by the RPA tool vendor as part of the tool offering. This comes in the form of a low-level pre-built library, to be able to automate on different application surface technologies such as Web, Desktop, Citrix, Java, and SAP. It also comes in the form of API technologies such as REST or SOAP and be able to automate simple tasks on desktop applications such as MS Office apps, PDFs, Notepad, Files and Database.
Read the other articles in this series from here:
The Robotic Process Automation Index
Contact us at SQA Consulting, to see how we may assist you in developing the necessary skills needed for implementing RPA projects.