【前沿技术RPA】 一文了解UiPath 机器人企业框架 (REFramework)

这篇具有很好参考价值的文章主要介绍了【前沿技术RPA】 一文了解UiPath 机器人企业框架 (REFramework)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
🐬个人主页:会敲键盘的肘子
🐰系列专栏:UiPath
🦀专栏简介:UiPath在传统的RPA(Robotic process automation)的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
🐶座右铭:总有一天你所坚持的会反过来拥抱你。


uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

🌈写在前面:

本博文主要介绍 UiPath 机器人企业框架 (REFramework)。我们将讨论事务处理、调度程序和执行程序的概念,还会简要介绍 REFramework 可以完成的任务。


👉本文关键字:RPA、UiPath、Low-code、No-code、机器人企业框架、REFramework、.Net

1️⃣ 背景

♈ 什么是RPA

RPA(Robotic process automation) 代表机器人过程自动化

它是一种软件程序,可在与计算机应用程序交互时模仿人类行为并实现重复的、基于规则的流程的自动化。

♉ 什么是UiPath

UiPath 是一种机器人流程自动化工具,用于自动化枯燥和重复的任务。它由罗马尼亚企业家 Daniel Dines 和 Marius Trica 于 2005 年创立。它还消除了自动化无聊任务的人工干预,并为所有活动提供了拖放功能,它是最简单的 RPA 工具。

♊ 为什么使用UiPath

UiPath在传统的RPA的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。

♋ 环境
  • UiPath Studio Community 2022.4.3

  • Windows 10

  • .Net

2️⃣ 事务处理

♈ 定义

事务是指对数据进行处理所需要的最小(原子)数据量以及必要的步骤,其目的是为了完成业务流程的一个部分。从邮箱中读取一封电子邮件,然后从电子邮件中提取数据的流程就是一个典型事务示例。

我们把事务数据称为原子数据是因为一旦完成数据处理,即可假设在继续处理业务流程时不再需要这些数据。

考虑到业务流程的步骤及其重复执行方式,我们可以将业务流程分为以下三个类别:

⭐ 线性

流程中的步骤仅执行一次,如果需要处理不同的数据,则需要再次执行自动化。例如,回到在本章简介部分介绍的电子邮件示例,当收到新电子邮件时,系统需要再次执行自动化才能进行处理。

线性流程通常很简单,而且很容易实施,但不太适合需要使用不同数据重复执行步骤的情况。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

⭐ 迭代

流程中的步骤可以执行多次,但每次使用不同的数据项目。例如,自动化可以检索多封电子邮件并迭代执行相同的步骤,而不是每执行一次仅读取一封电子邮件。

这种流程可以通过简单的循环实现,但缺点是,如果在处理一个项目时出现问题,整个流程就会中断,因此,其他项目将无法得到处理。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

⭐ 事务性

与迭代流程相似,事务性流程的步骤也会使用不同的数据项目来重复执行多次。但是,自动化的设计使每个可重复部分得到独立处理

这些可重复的部分称为事务。事务相互保持独立,因为它们不会共享任何数据,也没有特定的处理顺序。

您可以将这三类流程看作自动化项目逐步走向成熟的各个阶段,从简单的线性任务开始,经过反复改进,最后演变为事务性方法。

不过,凡事没有绝对规则,我们要根据流程的特征(例如,要处理的数据以及重复的频率)和其他相关要求(例如,易用性和稳定性)来选择合适的类别。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

♉ 适合使用事务流程的业务场景
  • 某个文件夹中有多张发票,您需要从发票中读取数据,并将数据输入另一个系统。在本例中,我们可以将每张发票视为一个事务,因为它们都需要按照重复的流程进行处理(即提取数据并输入其他位置)。
  • 某个电子表格中包含人员及其电子邮件地址的列表,您需要向其中每位人员发送一封电子邮件以及一条个性化消息。对于每位人员来说,此流程中的步骤(即从电子表格获取数据,创建个性化消息和发送电子邮件)都是相同的,因此,我们可以将此电子表格中的每一行视为一个事务。
  • 在寻找新公寓时,我们可以设立一些条件,然后使用机器人进行搜索。对于每个搜索结果,机器人会提取有关公寓的信息,并将数据插入电子表格中。在本例中,每间公寓的详细信息页面就构成了一个事务。

3️⃣ REFramework

♈ 定义

一般来说,框架就是帮助您设计(自动化)流程的模板。作为框架,至少要提供一种存储、读取和便于修改项目配置数据的方法,还要提供强大的异常处理方案,以及关于所有异常和相关事务信息的事件记录。

REFramework 作为状态机实现,这是一种工作流,具有两个非常有用的功能:

  • 其一是状态,它可以根据指定的输入,定义要执行的操作。
  • 其二是转移,它可以根据状态本身的结果,在状态之间切换执行。

您可以参考项目组织博文中的状态机。其中介绍了一个典型的例子,即空调:

  • 当空调处于关闭状态时,只需按下开/关按钮,它就会切换到空闲状态;
  • 在空闲状态下,如果用户输入的温度低于当前温度,它就会切换到加热状态;如果高于当前温度,它就会切换到致冷状态。一旦达到需要的温度,它又会回到空闲状态;
  • 在空闲状态下,如果按下开/关按钮,它可以切换到关闭状态;
  • 触发这些状态转换的所有条件都属于转移。

基于类似的想法,REFramework 包括 4 种主要状态。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

⭐ 初始状态

这是流程启动时的状态。我们可以将其视为一种操作。在此操作中,流程会初始化设置并执行应用程序检查,从而确保满足启动流程的所有先决条件。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

⭐ 获取事务状态

获取下一个事务项目。它可能是队列项目,也可能是集合中的任何项目。

默认情况下,事务项目是队列项目,但为了满足特定的需求,您可以轻松更改其类型。对于这种状态,开发者需要设置没有项目需要处理时的退出条件。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

⭐ 流程事务状态

通过上一个步骤获取事务项目后,在各个应用程序中执行操作/应用逻辑。完成事务项目处理后,流程将继续处理下一个可用的事务项目。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

⭐ 结束流程状态

流程结束(在自动化期间打开的应用程序应正常关闭)。

为了便于理解如何使用 REFramework,下面我们来介绍一个场景:

某个电子表格中包含人员及其电子邮件地址的列表,您需要基于模板向其中每位人员发送一封电子邮件以及一条个性化消息。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

4️⃣ REFramework 的功能

♈ 设置

在很多流程中,通常都会使用在初始化阶段读取的某些设置和配置值。设置的示例包括用于访问 Web 应用程序的 URL、Orchestrator 队列名称和默认记录消息。

REFramework 先从配置文件 (Config.xlsx) 读取这些数据,然后将其存储在可在不同状态之间共享的字典对象 (Config) 中,从而实现数据跟踪。它提供了一种简单方法,通过更改配置文件中的值(而不是直接修改工作流)即可维护项目。

♉ 日志记录

REFramework 的另一个强大功能是内置记录机制。组成框架的大多数工作流都使用日志消息活动。这些活动会输出在基于每个执行步骤发生情况的详细信息上。

这种机制不仅可用于查找问题,帮助您完成调试流程,还可用于创建有关流程执行(例如,每天处理了多少张发票,发生了多少次故障和引发故障的主要原因)以及流程本身(例如,一个月内处理的所有报告的汇总值)的可视化内容和报告。

♊ 业务异常和应用程序异常

在执行过程中,大多数流程都可能出现与正常执行流程相悖的异常情况,您必须解决问题才能实现更可靠的自动化。

例如,假设某个流程使用了几个 Web 应用程序,但 Web 浏览器在某个点会停止响应。如果某个活动(比如说点击)尝试与停止响应的应用程序交互,则可能会失败并返回异常。经过设计,REFramework 会尝试再次处理事务(即重试)或跳过该事务,从而实现从异常中恢复。

如果重新启动应用程序可以解决问题,框架会自动完成操作,并且会再次尝试处理同一事务。这些异常称为应用程序异常。

如果问题与数据本身或业务的基本要求相关(例如,不处理价值超过特定金额的发票),则框架会跳过该事务,并继续处理下一个事务。这些异常称为业务规则异常。

5️⃣ 调度程序和执行程序

虽然企业框架可以使用不同类型的数据源,但是企业框架结合了一种特殊的数据源:Orchestrator Queue,也就是队列结构。当使用队列时,可以定义项目的优先级和截止期来追踪重试或失败的项目。使用队列也启用了名为“调度程序和执行程序”的执行模式。该模式将流程分为两个主要阶段:调度要处理的项目并将其添加到队列中,然后从队列中检索项目并使用该项目执行流程。流程的第二部分通常使用 REFramework 构建。

♈ 调度程序

调度程序是用于将事务项目推送到 Orchestrator 队列的流程。它从一个或多个来源提取数据,并使用这些数据来创建将由执行程序机器人处理的队列项目。

系统将信息推送到一个或多个队列,从而让调度程序为队列项目中存储的所有数据使用通用格式。

使用调度程序模式的主要优点是,您可以在多个机器人之间拆分项目的处理。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

♉ 执行程序

执行程序是用于从 Orchestrator 队列中拉取事务项目,并根据公司需求处理这些项目的流程。它每次处理一个队列项目。

每个处理的项目都有错误处理和重试机制。

执行程序的主要优点是可扩展性(多个执行程序可以与单个队列一起使用)。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

我们仍使用前述同一场景,某个电子表格中包含人员及其电子邮件地址的列表。您需要基于模板向其中每位人员发送一封电子邮件以及一条个性化消息。

我们可以通过以下方式使用“调度程序和执行程序”模式:

  1. 调度程序从输入电子表格读取行,并将数据(即姓名和电子邮件)添加到队列中;每个队列项目都将包含来自电子表格某一行的姓名和电子邮件地址。
  2. 执行程序检索来自同一队列的项目,并使用该数据执行必要的操作,比如说替换模板值和发送电子邮件。

调度程序和执行程序模型的优点:

  • 流程分离更明确(调度程序和执行程序之间)
  • 架构层与流程层的分离和区分更明确
  • 更完善的错误处理和重试机制
  • 可跨多台计算机运行流程(可用性)
  • 在项目创建的组件内提供更好的可重用性
  • 改进了内置的配置和 Orchestrator 集成
  • 轻松调整和部署以前未使用 REFramework 创建的工作流,从而使用 REFramework 和调度程序/执行程序模型

6️⃣ 调度程序和 REFramework 执行程序演示

♈ 创建REFramework项目

首先,我们用Templates中的REFramework创建一个项目,如下图所示。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

Main.xaml 已打开,其中显示有一个序列。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

在Main文件中我们可以看到上述提到的4个状态。

♉ Initialization

打开Initialization状态机,我们可以看到读取了Config文件中的Settings和Constants页的数据,通过字典类型缓存起来。

在 InitAllSettings 工作流中,您要加载与应用程序或流相关的所有设置和数据。在此状态下使用的文件之一是 Config 文件,它位于项目的“数据”文件夹中。

其中包含有关设置、常量和资产的各种信息。根据需要,这些信息可用于处理数据和配置 REFramework,在“REFramework 深入探索”课程中可以了解有关 Config 文件的详细信息。

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架
uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架
uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

♊ Get Transaction Data

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

♋ Process Transaction

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

♌ End Process

uipath 企业级框架,UiPath,rpa,机器人,低代码,REFramework,企业级框架

♍ 方法

1. 调度程序:-从 Excel 文件获取条目,并在 Orchestrator 中将其添加为队列项目。

首先,我们创建了一个序列项目,然后添加了“Try Catch 异常处理”活动。在“尝试”块中:

  • 我们使用“读取范围”读取 Excel 文件中的前 10 行(A1:C11),并将其存储在新建的 DataTable 变量中;
  • 我们使用“遍历每一行”来循环遍历的 DataTable 变量中行,并使用“添加队列项目”活动将其添加到队列中。
  • 我们使用“日志消息”活动来记录已成功执行调度流程的消息。

2. 执行程序- 从队列中获取并处理项目(事务)

a. 在初始状态下:

  • 调用 InitAllSettings 工作流,以初始化使用的应用程序和流程的所有设置和数据。在这个部分,系统将读取“数据”文件夹中 Config.xlsx 文件的设置、常量和资产;
  • 调用 InitAllApps 工作流,以打开应用并检查其状态、凭据等;
  • 调用 KillAllProcesses 工作流,以保留使用的应用程序的单个实例。

任何系统错误都会让流程进入结束流程状态。

b. 在获取事务数据状态下:

  • 序列中,使用 “should stop” 活动来验证 Orchestrator 是否发送了停止信号。
  • 如果没有, 则调用获取事务数据工作流,该工作流使用获取队列项目活动来从 Orchestrator 获取事务信息。

如果没有要读取的数据,它会进入结束流程状态。

c. 在流程事务状态下:

  • 流程是一个使用“尝试捕获”活动集来捕获系统异常和业务异常的序列

  • 在“尝试”块中,调用“处理事务”工作流,它具有一个简单的流程,用于:

    • 附加到 UiDemo 应用程序
    • 3 个“输入信息”活动用于填写“兑现”、“银行内求偿支票”和“非银行内求偿支票”字段;
    • 'Click“接受”按钮。

d. 在结束流程状态下,使用“关闭应用程序”。

7️⃣ 参考资料

GitHub UiPath REFramework


⭐写在结尾:

文章中出现的任何错误请大家批评指出,一定及时修改。

希望写在这里的小伙伴能给个三连支持文章来源地址https://www.toymoban.com/news/detail-819500.html

到了这里,关于【前沿技术RPA】 一文了解UiPath 机器人企业框架 (REFramework)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 新技术前沿-2023-ChatGPT基于人工智能技术的聊天机器人

    chatgpt镜像网站 一文带你了解爆火的Chat GPT ChatGPT系列文章 为什么ChatGPT这么强?—— 一文读懂ChatGPT原理! ChatGPT是一种基于人工智能技术的聊天机器人,它可以模拟人类对话,回答用户的问题和提供相关信息。ChatGPT使用 自然语言处理技术 ,可以与用户进行语音或文本交互,

    2023年04月15日
    浏览(62)
  • 什么是RPA机器人?RPA机器人能做什么?RPA机器人的应用场景

    什么是RPA机器人? RPA机器人是一种使用软件机器人来模拟和执行人类操作的技术。RPA代表Robotic Process Automation(机器人流程自动化)。它是一种自动化技术,可以使用预定规则和预定流程来执行重复性、繁琐或规定任务的工作。 RPA机器人可以模拟人类的操作,并与计算机系统

    2024年02月10日
    浏览(35)
  • 什么是RPA机器人?RPA机器人能做什么?

    RPA机器人,全称Robotic Process Automation,即机器人流程自动化,是一种新型的自动化软件,可以模拟人类在计算机上执行的操作,进行重复性、繁琐的任务,提高工作效率和质量。 RPA机器人是一种基于人工智能和机器学习技术的自动化软件,它可以通过模拟人类在计算机上执行

    2024年02月03日
    浏览(37)
  • RPA自动化中的机器人开发:如何开发机器人软件

    随着工业4.0时代的到来,企业对于提高生产效率、降低成本的需求越来越强烈,机器人自动化技术作为其中的一部分,逐渐被广泛应用。机器人自动化技术的其中一个分支——机器人软件,对于机器人的开发和应用具有重要的推动作用。本文旨在介绍如何进行机器人软件的开

    2024年02月13日
    浏览(39)
  • 机器人过程自动化(RPA)入门 7. 处理用户事件和助手机器人

    在UiPath中,有两种类型的Robot用于自动化任何流程。一个是后台机器人,它在后台工作。它独立工作,这意味着它不需要用户的输入或任何用户交互。另一个是前台机器人,也被称为助理机器人。 本章介绍前台机器人。在这里,我们将了解自动化过程中通过简单按键、单击鼠

    2024年02月07日
    浏览(24)
  • 使用UiPath和AA构建的解决方案 1. 机器人过程自动化入门

    你好!在这本系列,我们将指导您完成一些真实世界的机器人过程自动化(RPA)项目。感谢您的加入。当你完成本系列时,你将具备使用UiPath和Automation Anywhere在最低指导下进行简单到中等复杂度RPA项目的知识、技术和心态。 RPA是一项令人兴奋的新技术,被视为使用新的先进

    2024年02月07日
    浏览(34)
  • 前沿分享-鱼形机器人

      可能并不太前沿了,是21年底的新闻了,但是看见了就顺便发一下吧。   大概就是,通过在 pH响应型水凝胶中 编码不同的膨胀速率而构建了一种环境适应型变形微机器人,让微型机器人直接向癌细胞输送药物从而减轻药物带来副作用。   技术原理是,“鱼形”微机器人(SM

    2024年02月11日
    浏览(24)
  • 【微信加人自动化】RPA机器人:人人都会实现的机器人

    用上这个机器人,一定要心平气和,不要放肆,单号忍住控制在+15个人以内(但悄悄的告诉你,可以切换账号呀) 这个加人机器人,人人都可以通过学习自己动手实现,不再局限于遥不可及的“黑科技”技术。 在这个数字化飞速发展的时代,微信已经成为我们日常生活和工

    2024年04月15日
    浏览(40)
  • RPA与通知机器人的完美结合

    在现代快节奏的工作环境中,我们经常会面临多个任务同时进行的情况,你还在为时间不够用、忙碌而惆怅吗?你还在为时刻盯着电脑流程而烦恼吗?你还在为及时收不到自己的自动化任务进度而焦躁吗?别担心,RPA来帮你完成一切,下面让我们看看具体操作吧。 在钉钉获取

    2024年01月16日
    浏览(41)
  • RPA(机器人流程自动化)调研

    目录 概念 2022年最领先的5个RPA开源项目对比 Taskt 项目地址 优点 缺点 Robot Framework 项目地址 优点 缺点 TagUI 项目地址 优点 缺点 Open RPA 项目地址 优点 缺点 UI.Vision(Kantu) 项目地址 优点 缺点 Automagica 项目地址 优点 缺点 TagUI使用过程中遇到的问题 1、本地环境除了tagui的环境

    2024年02月04日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包