Knowing the inner workings and architecture of a tool can go a long way, particularly if you’re using a tool on a daily basis. Bug fixes and troubleshooting becomes a breeze and you may often find yourself using the same mundane tool in new and inventive ways. In this article, on UiPath RPA Architecture, I will be talking about how different components of UiPath work together to aid client requirements and to help you become a skilled professional in RPA.
The following topics will be covered in this article:
Let’s get started!
What is RPA?
The process of automating business operations with the help of robots to reduce human intervention is said to be Robotic Process Automation(RPA).
If I have to elaborate on each of these terms one by one, then
- Robotic are entities which mimic human actions are called Robots.
- A process is a sequence of steps which lead to meaningful activity. For example, the process of making tea or your favorite dish, etc.
- Automation is any process which is done by a robot without human intervention.
So, when we summarize all these terms together, then mimicking human actions to perform a sequence of steps, leading to meaningful activity, without any human intervention is also known as Robotic Process Automation.
Now, since you what is RPA, next in this article I will give you a gist about UiPath.
What is UiPath?
UiPath is one of the leading market leaders of RPA Tools. This tool is used to automate repetitive tasks and offers a drag and drop functionality. So, any action which you wish to perform gets catered by activities which can be dragged and dropped into your working pane.
Now, that you know about UiPath, let us look into the various components of UiPath to understand how its’ architecture is framed.
UiPath Platform Components
The UiPath Platform mainly consists of the following 3 components:
Let’s understand each of these components one by one.
UiPath is a visual designer which lets you build automation workflows with pre-built activities. The following are the features of UiPath Studio:
- GUI Dashboard – Offers a visual dashboard with pre-defined activities to build automation workflows.
- 3 Complexity Levels – UiPath Studio allows you to create projects based on 3 complexity levels such as Sequence, Flowchart and State Machine.
- Types of Recorders – UiPath Studio offers various types of recorders to record actions on multiple platforms such as Basic, Desktop, Web, Image, and Native Citrix.
- Logging & Exception Handling – The Ribbon Tab of UiPath Studio offers various options for debugging and exception handling such as Debug, Open Logs, Slow Step, etc. If you wish to learn how to use these options you can refer to my article on Error Handling.
- Integrate with OCR technologies – UiPath Studio can integrate with various OCR technologies to perform screen scraping.
- Reusable Components – With the UiPath Studio, you can create reusable components to publish them together as Libraries.
So, in simple terms, UiPath Studio is used to create automation workflows with the help of which you can automate tasks.
Now, that you have understood what is UiPath Studio, next in this article on UiPath RPA Architecture, I will tell you about UiPath Robot.
The automation workflows created by the UiPath Studio are executed by the UiPath Robot. So, to execute any of your tasks, you need to make sure that the UiPath Robot is in a running state. Also, you can either have a single or multiple robots running at the same time.
Next, let us understand the third component of UiPath Platforms i.e. the UiPath Orchestrator.
Orchestrator is a product of UiPath which enables you to orchestrate the UiPath robots in continuously executing repetitive process on various platforms.
Orchestrator follows the below process:
First, you have to create robots to execute your task. Then you have to create a Project and Publish it so that you can use it as a process. Once you create a process, you have to assign a robot to execute this process in a specific environment, and this will create a Job.
Now, this was the basic workflow of how Orchestrator works. But, let me take an example and show you how it works in the architecture of UiPath.
Consider a scenario, where you have created an automation workflow in the UiPath Studio. Now, once you publish your project a NuGet Package gets automatically created. A NuGet package is designed for Microsoft Development Platform and is used to read the .NET files. After that, Project is uploaded via Orchestrator Server. Refer below.
Now, you can deploy this particular project on any number of computers by mentioning the Machine Key. Automatically the Ui.Robots execute and monitor the tasks if it is a back office process. Similarly, if it is a front-office process, then the user executes the project or task and the Ui.Robot just monitors the task. So, that’s how folks the UiPath Orchestrator works. If you wish to know more about UiPath Orchestrator, you can refer to my article on Orchestrator which talks about how to login to the Orchestrator and deploy a Robot.
Now, that you have understood the components of UiPath Platform, let me next show you how these platforms fit together and form the architecture of UiPath.
The UiPath Architecture has the following 3 layers:
- Client Layer
- Server Layer
- Persistency Layer
Let’s talk about each layer one by one.
Starting with the Client Layer, the Client Layer consists of the UiPath Studio and the UiPath Robot. As, I mentioned before, UiPath Studio is the place where you create the automation workflows, and then, the UiPath Robot executes those tasks.
Now, The UiPath Robot has two components that you need to know about:
- UiPath Agent Service: This service is used to display the available jobs in the system tray. It can also request to start /stop jobs and change settings.
- UiPath Executor Service: This service is used to run the given jobs under a Windows session.
Now, once your Robot is ready to execute the task, the project can be uploaded on the Orchestrator Server. With the help of Orchestrator, you can run the project on various PCs. The Orchestrator monitors deploy, configures, queue management and logging.
The next layer, that comes into the picture is the Persistency Layer. This layer consists of a database, which takes care of queues and the items in queues. It also consists of information about robot configuration and their assigned processes.
If you wish to learn further about UiPath architecture, then I suggest you go through the following interesting video.
With this, we come to an end to this article on UiPath RPA Architecture. I hope you enjoyed reading this article and learned how different components of UiPath work together.
If you wish to further learn about Robotic Process Automation and build your career as an RPA Developer, then you can check out our course on Robotic Process Automation Using UiPath. This course will let you enhance your knowledge of RPA and will give you extensive hands-on experience in UiPath.
Got a question for us? Please mention it in the comments section of this UiPath RPA Architecture article and we will get back to you.