By Rita Valentine on Feb 12, 2021 6:17:42 PM
As organizations transition to a more mature RPA program with increased automation footprint, problems such as the 'Broken Bot Syndrome' would likely start to arise. Highlighting the importance of the automation design, implementation, and management of RPA.
Experienced RPA practitioners would know that challenges such as errors and business exceptions are unavoidable in any automation project that involves single or multiple applications. To design robots most efficiently, we use UiPath's Robotic Enterprise Framework (REFramework) to embed robust exception handling and recovery abilities to our robots, making it reusable, easy to handle and maintain in the long term.
In this blog post, we geek out on this fantastic tool and share with you the key technical information you need to successfully leverage the REFramework for your RPA program.
The REFramework is a scalable template intended to reduce difficulty of user design and offering, at minimum: a way to read, store and modify project configuration data, extensive error handling and event logging for all exceptions and actions. The built-in recovery model is also crucial, as unexpected system errors do not halt the process and allow for remediation attempts.
- Logging: Logging mechanism integrated allows for monitoring the flow and track error handling.
- Scalability: Integrated failure retries allow processing transactions multiple times and sending exceptions notifications as needed.
- Consistency: Standardized variables, assets and Orchestrator Settings are consistent across the framework. These intuitive fixtures allow for a seamless handover to other developers (of any level).
- Reusability: Customizability allows utilizing the key REFramework components regardless of the process type.
- Error screenshots: The functionality to take screenshots of the point of failure, is useful in troubleshooting.
UiPath REFramework Components
Initializes all settings and applications required before the Bot starts working on the business end of the process. The UiPath REFramework is built in a way so that initialization of all the applications happens in the 'Init' state and if the conditions we have built are met, the Bot will continue with processing the transaction. If there is an error while initializing the applications or the credentials provided are invalid, an exception notification can be sent from within this state and end the process. This is invaluable in limiting time sensitive issues/errors and preventing any workflow disruptions.
Additionally, this state reads all process specific settings from the config file, which allows for quick updates and changes to the workflow as well as case specific customizations.
Get Transaction Data
This section is the data retrieval mechanism used to get the transaction data from a Queue, Data table, Database, Folder, etc. The Bot processes the items from the designated data source, and if there are no more items to process the Bot ends the workflow and closes all the applications. We can have the process look at a spreadsheet, databases, email or webAPI instead of an Orchestrator Queue depending upon the Business Requirements.
In this state, we map out and invoke the process specific workflows. Several possible business flows can easily be added in as additional processes within this state, without major reworks needed.
When the Bot has finished processing a specific Transaction Item, it sets the status by using a prebuilt process within the REFramework.
The exception types are handled in a specifically defined way depending on business process and standard operating procedures.
Business Exceptions are prebuilt exceptions that the Bot should be built to expect and can correctly handle (whether by taking action or notifying appropriately). System/Application Exceptions occur when the Bot encounters an unknown exception. These exceptions can be retried multiple times; the Bot will retry the same transaction item to see if it has a successful status on its later retries as defined by developers/business users.
After the Bot has finished processing all the transaction items from the Data Source, it will log out of applications and close them in this state.
In this state, the applications are closed irrespective of whether we had a failed or successful transaction. This guarantees no process are left idle, as to respect resource consumption. It also ensures that other users and even potentially the bot in the future will not have an issue logging into applications.
The config file is a key/value pairing of the initial settings for your workflow.
Variables that refer to path locations, URLs, and other config information that you need to setup when moving your workflow from one environment to another are best stored in a config file to avoid changes to the workflow or asset manager.
These are variables included in the REFramework template. This has two uses:
- Tracking integral portions of the framework
- Encouraging and fostering consistency between workflows and projects
To learn more, watch our "How to Build a Scalable Automation Development Program" webinar about the best practices for RPA development using the UiPath REFramework.