This article is one of a series of lectures on Alibaba Cloud robotic process automation (RPA). It describes the product architecture and technical architecture of Alibaba Cloud RPA (including the client and server) in detail.
1. Product Architecture
Alibaba Cloud RPA products and software adopt the mainstream Client/Server (C/S) architecture. Based on a .NET platform, the front-end client runs in the Windows system and provides multiple functions and SDKs developed by Alibaba Cloud. The back-end server runs in the Linux or CentOS operating system and provides multiple background services and components. The following figure shows the product architecture:
In the preceding figure:
Studio: Studio serves as an integrated development environment (IDE). You can use it to develop an application in visual development mode or encoding development mode based on the customer’s process and publish the application to the enterprise application market so that it is available to other employees in the same enterprise. In addition, Studio provides some basic functions, such as local application import and export, debugging, and version management.
Attended robots: You can retrieve the application from the enterprise application market and use the application after it is approved by the administrator. You can manually trigger an attended robot to run the application.
Unattended robots: In the console, you can create a scheduled task and set the execution time, number of executions, loop rules, and other parameters for the task. The unattended robots automatically run the task at the specified time without human intervention.
Service robots: These robots provide APIs, through which you obtain robot execution results, intermediate statuses, and other information, or remotely call robots to run corresponding programs.
Console: The console is the foreground representation of background services. It allows you to monitor clients and manage scheduled tasks, users and permissions, enterprise application markets, and licenses.
2. Technical Architecture
Technically, Alibaba Cloud RPA consists of a client and a server, as shown in the following figure:
Based on the .NET platform, the client allows you to compile SDK encapsulation functions and applications in Python. The client provides an embedded Chrome browser and functions such as code debugging and data view.
The server runs in the Linux or CentOS operating system and is deployed in a distributed Kubernetes cluster. It supports HA and primary-standby backup. As shown in the preceding figure, the server provides seven components, including MySQL, Redis, and NGINX, to ensure the normal operation of Alibaba Cloud RPA background services. The server communicates with the client over WebSocket and provides functions such as account security verification, permission management, and code storage, to ensure the security and reliability of Alibaba Cloud RPA products and technologies.
At present, the Alibaba Cloud RPA team is constantly adjusting products and technical architectures to adapt to the rapid developments taking place in the RPA industry. In the future, the team will integrate more third-party systems and software into Alibaba Cloud RPA products and provide more new products and business models in the AI and big data analytics fields.