UiPath ReFramework is a framework that brings together the functions required for Enterprise RPA. You should consider using it as it is built into UiPath Studio and is easy to use.

What is required of Enterprise RPA:
As the RPA project also grows in size, the requirements for robot development and operation change.
Reliability and Scalability: When a robot executes multiple processes (transactions), it is required to check the execution results on a transaction basis and re-execute a failed transaction. In addition, when transactions increase, it is required to be easily BOR (Back Office Robot) or to shift to distributed processing with multiple robots.
Logging and Analysis: The RPA project requires the visualization of ROI (Return on Investment), and it is necessary to obtain information such as the number of times the robot has been activated and the number and time of transactions processed. In addition, it is also required to respond promptly when operating conditions or errors occur.
Workflow consistency: In order to develop and operate many robots efficiently, it is necessary to manage information such as parameters and assets required for processing, constants of activities (timeout values), log format and output timing, error supplement Consistent handling is required, such as subsequent retry processing and test case description and execution.

Use of framework:  In order to respond to the requirements of Enterprise RPA, it is necessary to improve the workflow of all robots, and in order to do so, the introduction of a framework is effective. Also, because framework development and continual improvement require knowledge and resources, it is desirable to leverage the vendor-provided workflow, if any.

ReFramework:

ReFramework has many built-in functions, but the main functions are as follows.
  • Setting information is simplified by putting together information of parameters and assets necessary for managing setting information into an Excel file and reading it at startup. It is designed to separate and manage the processing performed by the transaction robot in transaction units. The functions described below are realized by being able to manage whether the processing has succeeded for each minimum unit of processing.
  • Queue transaction information is managed using the Orchestrator Queue, enabling retrying when processing fails and distributed processing by multiple robots.
  • Error retry is designed to capture the exception that occurred in transaction processing and re-execute processing of the transaction.
  • Logging: Generate logs after adding data required for troubleshooting and checking the operating status.
  • Screen capture is automatically acquired and saved so that the situation at the time of screen capture exception occurs can be grasped.
  • Test cases can be automatically executed by describing test initialization and transaction processing independently.

Robotic Enterprise Framework
  • Built on top of Transactional Business Process template
  • using State Machine layout for the phases of automation project
  • offering high level exception handling and application recovery
  • keeps external settings in Config.xlsx file and Orchestrator assets
  • pulls credentials from Credential Manager and Orchestrator assets
  • gets transaction data from Orchestrator queue and updates back status
  • takes screenshots in case of application exceptions
  • provides extra utility workflows like sending a templated email
  • runs sample Notepad application with dummy Excel input data
How It Works
  1. INITIALIZE PROCESS
  • InitiAllSettings - Load config data from file and from assets
  • InitiAllApplications - Login to applications as per Config("OpenApps") field
    • GetAppCredentials - From Orchestrator assets or local Credential Manager
  • If failing, retry a few times as per Config("ProcessRetries")
  1. GET TRANSACTION DATA
    • ./Framework/GetTransactionData - Fetches from Orchestrator queue as per Config("TransactionQueue")
    • ./GetTransactionData - Sample for working with Excel input files
  2. PROCESS TRANSACTION
  • Try ProcessTransaction
  • If application exceptions happen
    • SaveErrorScreen - In Config("ErrorsFolder") with the exception message
    • Going to re/INITIALIZE
  • SetTransactionStatus - As Success, Failed or Rejected with reason
    • ./Framework/SetTransactionStatus - Updates the Orchestrator queue item
    • ./SetTransactionStatus - Sample for updating Excel input file
  1. END PROCESS
  • CloseAllApplications - As listed in Config("CloseApps")
For New Project
  1. Check out the Config.xlsx file and add/customize any required fields and values
  2. Implement OpenApp and CloseApp workflows, linking them in the Config.xlsx fields
  3. Implement GetTransactionData and SetTransactionStatus or use ./Framework versions for Orchestrator queues
  4. Implement ProcessTransaction workflow and any invoked others