A Complete Guide To Uipath ReFramework
An introduction to Uipath
UiPath is a global Robotic Process Automation vendor that provides a complete software platform to help organizations efficiently automate business processes. And with the acquisition of both ProcessGold and Stepshot in 2019, it has become the first vendor to bring process mining & robotic process automation together.
2,750+ enterprise customers and government agencies use UiPath’s Enterprise RPA platform to successfully deploy software robots that perfectly follow and execute repetitive processes.
Businesses are accelerating their productivity and enhancing customer experience across front-office and back-office operations through its complete software platform.
UiPath Studio and Orchestrator
UiPath is a platform that comprises a Studio and an Orchestrator. A studio is a tool where developers can design and develop RPA processes to the Orchestrator or publish a reusable library.
While an Orchestrator is a web application that enables developers to arrange UiPath Robots in executing repetitive business processes. You can understand it as a centralized robot management dashboard that helps in managing machines and robots along with a ton of additional features. Like Queues for enabling multiple robots to work on the same problem, scheduling jobs and assets to store config data and for securely storing credentials.
What is Uipath ReFramework/Robotic Enterprise Framework?
Uipath framework or also referred to as robotic enterprise framework is a framework that is built to help developers in building quick and efficient RPA processes.
It is the UiPath’s Template that has a well-written structure that is used for building a robust large scale solution that works based on Queue Transactions.
This Uipath framework is generally built on state machines. That you can use as a starting point for all of your UI projects.
Meanwhile, you may find our 5 Step guide to successfully implement RPA in 2020 to be helpful.
Why use ReFramework in Uipath
ReFramework makes a developer’s tasks much easier. It works as a template and provides all the basic details that you as a developer may need for any process automation.
The template lets you read and store the config data, open the required application and close all the unnecessary applications, get the transaction and process it, and when required it allows you to retry the transaction.
Along with that it logs the status of all processed, failed & successful transactions.
Hence to build a robust and fast process use ReFramework in Uipath. That also facilitates these super cool features.
Do you also want to get your project done on UiPath’s Enterprise platform?
Uipath ReFramework Features:
Reusability
It works for any type of process and business. As the logic code is separated from other aspects of ReFramework it can be reused efficiently.
Scalability
ReFramework has the ability to retry a failed transaction multiple times and send exception notifications.
Effective logging
It provides an effective logging mechanism to monitor the process and error handling.
Error screenshots: ReFramework has the functionality to take a screenshot of the screen at the point where it gets failed, which let you know the unattended automation and overall troubleshooting.
Exception Handling
ReFramework makes an exception handling a piece of cake. It has the functionality to take action when an exception comes. That lets you not worry about process halt or anything else.
Consistency
The variables, assets and settings are consistent across ReFramework which makes it easy to understand. Also, the code standards allow an easy handover to a different developer.
How ReFramework works in Uipath
If you have ever worked at Uipath studio then you might know it has 3 types of data flow representations: sequence, flowchart and state machine.
Though ReFramework contains all the 3 data flow, the main structure of the program is built using a state machine as it provides a more clean and functional data flow representation.
So, before knowing how the Reframework works in the Uipath, let’s have a look on it’s architecture.
ReFramework Architecture
We have four stages in the ReFramework architecture
- Init
- Get Transaction
- Process Transaction
- End Transaction
As you can see, It has a main.xml file that uses the state machine workflow and each stage is connected with each other for the work processes.
Since the system can only be in one state at a time, at least one transition condition from a given state must be true for it to move to another state. If it gets failed in any of these states, ReFramework is built in a way to either retry it or end the process and send an exception log with the respective reason.
Overall, ReFramework architecture comprises 3 state activities, 1 final state activity and 7 transitions where each state is connected with each other with transitions.
Now, let’s understand each stage of the framework in a better way:
Init — This is the initial state which is used to read and store the config data in the dictionary, close all the unnecessary applications and open the required one. For example, if in the Process we need to upload an attachment in SAP, we first require the Bot to fetch the credentials from Orchestrator, open the SAP application and then log in to SAP using the credentials.
The best part of UiPath ReFramework is that it is built in such a way that you can initialize all the applications necessary here in the Init state and if the conditions you have built are met, the Bot will then move forward with processing the transaction.
If there is an error while initializing the applications or the credentials provided are invalid, an exception notification will be sent from within Init State and end the process.
Get Transaction- It is the data retrieval state, which is used to get the transaction from the queue, data table, folder, database and other sources. Yes, once the Bot successfully initialized all the applications it requires for a process. Hence, it looks for any transaction items in the Orchestrator Queue to process.
ReFramework prebuilt functionality looks for a Stop Request and will stop the process even though there are items still in the Queue to process. This becomes helpful in situations where you notice the Bot is not doing what it is expected to do and want to stop the process before it works on any other transaction items.
Process Transaction- In this state, the transactions are processed that are fetched from the previous state. And if there is no record to process, the robot automatically moves to the end process state. If we look again at our attaching a document in SAP example, The Bot, which has now got the Transaction Data from the Queue should now upload the attachment to SAP.
And in Process State, all the activities required to attach the document will be invoked. For example, a workflow to check if the document exists or not on the Shared Path, a workflow with activities like clicking on appropriate GUI Elements for the Bot to navigate through SAP, typing in the file path and looking for the confirmation that the document was successfully attached.
ReFramework has a prebuilt SetTransactionStatus workflow that can be used to set the Transaction Status of an item to either Success, Business Exception or Application Exception. And among them, Business Exceptions are prebuilt exceptions that are built into the script and looked at by a Bot.
After the successful transaction, the bot will now move forward with the next item in the Queue.
End Transaction- This is the final state of ReFramework that ends the robot successfully and closes all the applications. After the Bot has finished processing all the transaction items from the Queue, it will log out of applications, irrespective of if it is a failed or successful transaction.
Once you open the Uipath studio you see the screen like this:
On the first left column, you need to click the start option, below the open and close menu. And there you need to select the ‘Robotic Enterprise Framework’ from the ‘New From Template’ options for the base practice on a large scale deployment.
Once you click on it, the ‘New robotic Enterprise framework’ wizard will open up. Fill up the name, location, and description as per the project and click on the create button. Now you will encounter this screen:
Here comes the actual role of the path framework. Because once you create the new framework, It stores all the dependencies and workflows in one folder, you can go and check one by one.
To initialize the process you will see a screen similar to this:
Let’s check out how our RPA Services can benefit your business.
Uipath ReFramework Examples
Uipath ReFramework becomes the best choice for several cases. For example:
You want to scrap 100 pages on a site that requires a login, then the framework will ease the process at an unmatchable speed. All you need to do is
- Include the credentials required for the site in your Config file
- Store the URL of your site in the config file (as it is easier to change once in Excel than a lot of times in the workflows)
- Now you can control the number of pages that need to be scraped
- Also can retry the scraping on pages that failed.
- That’s it!!
Let’s see some of the most common use cases where Uipath Reframework is making things easier for the enterprises
Web Scrapping — Whenever you need to scrap data from various locations and want to feed them in a particular excel sheet. Like in the case of comparison sites, stock markets, e-commerce and others for a specific purpose on a large scale, then the framework can become very useful in making the process fast and errorless.
Inventory/supply chain management– As retailers rely on legacy systems for stock keeping. The Framework bots can perform constant checks on the systems providing data on key metrics like items with low stock levels or the ones changing rapidly.
Customer/User onboarding– In many B2C businesses customer onboarding is critical. And using this automation framework, customer onboarding actions can be completed instantaneously even in companies that rely on legacy systems, that hugely improve the customer experience.
Generating mass emails– Mass emails relying on data from multiple systems are laborious to produce manually. Hence for enterprises who need to send them frequently, this automation framework is easing the process.
Validating and processing online loan applications — You can use this framework to build intermediary bots between the online system and the mainframe that used business logic to ask the user to fix incorrect entries as well as make the loan decisions and generate confirmation letters.
These are just to name a few, their implementations can be seen on large scale at manufacturing, healthcare industries, banking, E-commerce and many other industries.
Conclusion
You can use the framework with very ease if you have a good understanding of the “Invoke Workflow Activity” and some grip on managing data between the State Machine. Must say, the framework is so user friendly that it has everything in-built and it provides robust Robots.
As UiPath is continually adding new features and updates to UiPath Studio and ReFramework, keep an eye out for the latest updates to excel!
Hashstudioz has worked for industries like banking, healthcare, retail & manufacturing. While helping them automate their processes we made sure to provide the utmost efficiency & flexibility.
And if you want your business to process fast and let your human resource focus on other important tasks, then you must check our RPA Services or contact us to discuss your requirements.