A complete Guide to Uipath ReFramework

Published: 2020-07-23 14:21:22

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 it’s 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?
What is Uipath ReFramework.jpg

Uipath reframework or also referred 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.

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 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 you these super cool features.

Uipath ReFramework Features:


Reusability
It works for any type of processes 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
Effective logging
It provides an effective logging mechanism to monitor the process and error handling.

Error Screenshot
ReFramework has the functionality to take a screenshot of the screen at the point where it gets failed, that let you know the unattended automations and overall troubleshooting.	

Exception Handling
ReFramework makes exception handling a piece of cake. It has functionality to take actions when an exception comes. That let you not worry about process halt or anything else. 	

Consistency
The variables, assets and settings are consistent across ReFramework that 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 flows, 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.


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 which 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 activities and 7 transitions where each state is connected with each other with transitions.

Now, let’s understand each stages 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 login 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 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, type in the file path and look for the confirmation that the document was successfully attached.

ReFramework has 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 by a Bot. 

After the successful transaction, 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:
ReFramework start screen

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:
The home screen of ReFramework

Here comes the actual role of the uipath reFramework. Because once you create the new framework, It stores all the dependencies and work flows in the one folder, you can go and check one by one.

To initialize the process you will see a screen similar to this:

Initialize the process

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 reframework will ease the process in 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 commonly 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 other for a specific purpose in 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 one 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 built intermediary bots between the online system and the main frame 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 REFramework 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, REFramework 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 on the latest updates to excel!
Frequently Asked Questions

Q.How can I learn UiPath ReFramework?

A. Learning UiPath ReFramework is easy. All you need to do is just start with the basics.

    Learn about ReFramework workflow activity, template and go through all the parts.
    You may also opt for the Uipath Advanced certification course, that will make most of your confusion clear and gives you some confidence by doing some dummy projects.
    Have some concepts of orchestrator 
    Note your doubts and clear them one by one.
    Keep patience and practice, you will soon find yourself doing live projects
    All the best!!

Q. What is the role of an Orchestrator in Uipath?

A. UiPath Orchestrator is a centralized robot management dashboard where you can easily deploy, secure, and manage your UiPath Robots at scale. It runs on a server and connects to all the Robots within the network, whether Attended, Unattended, or Free. It ensures the correct delivery of the packages to Robots.  

Q. What is ReFramework in Uipath?

A. ReFamework or Robotic Enterprise Framework is a template within UiPath Studio built using State Machine layout.

Q. What are the types of projects in UiPath?

A. There are two types of standalone automation projects in Uipath Studio: process or library. Processes can incorporate all types of workflows, flowchart, sequence, state machine and global exception handler.

Q.Can UiPath be used for testing?

A. Yes, Uipath can be used for running unit tests and will help ease the development and save time.


https://hashstudioz.com/blog/a-complete-guide-to-uipath-reframework/