I am working in UiPath since few months. Currently working in some POCs. I am learning RE framework and find it little difficult to understand and implement.
I want to know which type of projects need RE framework as the best practice. Do small pocs also need RE framework ? How the real time projects in industry are done ? Which need RE framework and which type of automation is good without RE framework ? Ex. Automation of Daily/Weekly file processing. Operations job etcs.
In our company, we use the REFramework for all the projects that we are building as a standard and a best practiceā¦
However, POCās have short time period to complete, and introducing REFramework for a POC might make things little complicated because of the time frame we have. Hence, for a POC, we might choose not to use REFramework and stick with the basics.
Basics means, we still use multiple workflows, but combine them in a separate sequence or a flowchart depending on the requirement. However, if there is time, we could introduce REFramework as well. This depends on the requirement and the complexity of the task. I did one POC, few months back, it was not that difficult, so I used the REFramework. But for complex POCās, we didnāt use it.
However, considering a project or a full scale solution, we always go for the REFramewok as it has lot of benefits and added reliability. As you may be aware by now, REFramework provides a good level of error handling, retrying ability in cases of failures, business rule and application exception handling any many more. These are very important to have in a full scale production solution to make the solution stable, reliable and friendly. It also helps us to breakdown the entire automation solution into separate segments, and sometimes as separate individual solutions which can be independent from one another. This also helps to maintain the code, and also for parallel and separate executions without depending on other solutions.
Hence, I would recommend to always use the REFramework for all the solutions irrespective of the automation project or the frequency it is being executed.
Thanks @Lahiru.Fernando, but donāt you think RE framework is so complicated to use and understand. Going for basic flow its very easy to understand and do.
yesā¦ I understand your question, We can use the sequence or a flowchart to make the workflow very simple to understand. However, it does not suit for every scenario,
So, when considering automation solutions, there are three types mainlyā¦
This is an extraction from the RPA Foundation training
So as you see, we have to decide which one to take depending on the process that we are trying to automate. Some processes which are simple can use sequential workflows. However, just imagine a complex process that require transactions to be processed one after the other. Due to the complexity, say if the process fails in the middle. if we use a sequence, each record will be processed inside a loop right? but when the process fails, it fails the entire thing and the process history is lost. So next time when we run, we have to execute all the recordsā¦ in REFramework, these parts are handled separately so that we donāt need to run the full thing again with much better level of error handlingā¦
I know, workflow wise, it is little bit complex, but it is a good architecture for a automation solution because of its characteristicsā¦
Hey @Lahiru.Fernando, thanks for the explanation, what is the better way of working with the Framework, i am busy working on a very complex project. So far i really do not understand the framework that much, i decided let me build smaller parts of the project and when done i will then see how i can integrate them with the Framework. (e.g i have system login sequence, system navigate to sequence etc). do you think this is the best way of doing it or i am just complicating things even worse?
@Lahiru.Fernando: Your explanation cleared my doubt on why RE Framework all the times.
But could you please also clarify @SenzoD question, I do have the same question.
Sorry I have missed the question @SenzoD askedā¦ not sure howā¦ Anyway, letās talk about it nowā¦
So first of all, we should come up with the full To-Be process design to understand whether it is suitable for the REFramework. Have you guys done it? This is usually done by a Solution Architect. but if you are the one who is doing the design, you have to first make sure you draw the full process by breaking it down into smaller parts. Smaller parts means, we should break it down to individual workflow level where each workflow address a small specific task like Login, Navigation etc. Along with this, you should also have an idea on what are the output arguments and input arguments of each workflow. It becomes very helpful when developing the solution to build the flow.
Once you do that, then map it with the REFramework to see whether it suits the framework because some solutions might be straight forward or sequential where you donāt need the REF.
Once you map, then start building each individual workflow you identified through the design.
So, I would suggest, plan it out first, and then apply it irrespective of whether its REF or sequential approach.
Am 12 months into UiPath and have created various solutions some simple and others not, the latest one I have is complex involving web scraping and evaluation from control workbooks etc. Seems to me that it is about automation so I found the framework difficult to meet my needs. So using workflow braking down steps and making sure you use annotations. You can use all the try/catch functions anyway so do not see need of using framework as a rule.
Hi~@Lahiru.Fernand thankyou for your sharing, I agree with part of your conclusion, but about process failure, I think we can also handle the exception by ourself just use try catch activity and log wrong record then it will not fails the entire thing. Iāve tried reframework once as a little practice. I still can not find out the advantage of it, do you have any good resource or example that shows its benefit ?
Much has already been covered but Iāll add my experience as well. Using ReFramework or not is really dependent upon the project and the time allotted to create it, and if it makes sense as a tool.
For example are you looking for a bot to tie into your Orchestrator Queue? ReFramework is designed to do this but you can do it easily without it. What I would consider the most useful function of ReFramework is just that it has a global exception handler/ resetting of the bot process which can be helpful when certain types of errors come up in a bot process. You can also just build something out yourself that does exactly that, or clear out a lot of what is inside the ReFramework and just use the parts you like. Itās not a silver bullet, I usually have in-process types of error handling things going on even if I use the ReFramework.
No project specifically needs it, its just that its there so a lot of people will use it or a variation of it as sort of a home template for all their processes for consistency.
From a business sense though, people donāt care what your bot looks like or if you use ReFramework or not; they care about if the bot can stay up running for long periods of time without crashing, and if it can run its process with a high level of accurately on result and in a timely manner so that they use the output of the bot to generate money, or save money due to a task being automated. People working above or outside of the development team donāt usually have a deep understanding of what goes on under the hood, they just care about the end results, the bot is just a tool.
Some bot processes would make no sense to use ReFramework due to the way they are structured, others because they just donāt need the added complexity and work in fairly stable environments, and others because of the timescale your on for getting the process up and running.
Complex Processes: The use of the ReFramework in UiPath is beneficial for projects with complex processes. It provides a robust framework with built-in features like state transitions, error handling, and logging, making it suitable for intricate automation workflows.
Scalability: Projects that require scalability and the ability to handle large volumes of data or transactions can benefit from the ReFramework. Its modular design allows for easy integration of additional functionalities, making it adaptable to the changing needs of a growing project.
Standardization and Maintenance: If your project involves multiple developers or needs long-term maintenance, the ReFramework promotes a standardized approach. This can simplify collaboration among team members and make ongoing maintenance more manageable, as everyone follows a consistent structure and set of practices.