【RPA之家UiPath官方教程】机器人企业框架概述
机器人企业框架概述
本课程介绍UiPath机器人企业框架(REFramework)。 我们将介绍它可以帮助您完成的事项,事务处理,调度员和执行者。
受众:RPA开发人员
学习目标
在本课程结束时,您应该能够:
说明什么是交易以及使用交易的目的;
概述什么是REFramework及其工作方式;
描述调度员和执行者模型如何帮助扩展流程。
关于本课程
介绍
本课程介绍UiPath机器人企业框架(REFramework)。 我们将介绍事务处理,调度程序,执行者的概念,并为您概述REFramework可以完成的工作。
受众:RPA开发人员
课程时间:1小时
完成课程的要求:通过最低80%的分数通过课程测验
先决条件:
基本编程知识
RPA开发人员角色课程简介
变量,数据类型和控制流程
数据处理课程
Excel和数据表课程
UI互动课程
选择器课程
项目组织课程
错误和异常处理课程
调试课程
开发人员协调员课程
学习目标
在本课程结束时,您将能够:
1说明什么是交易以及使用交易的目的。
2概述什么是REFramework及其工作原理。
3描述调度员和执行者模型如何帮助扩展流程。
注意:本课程是使用UiPath Studio 2019.7创建的。 最新的Community Edition版本中的某些元素可能有所不同。
事务处理
什么是事务?
事务代表最小(原子)数据量以及处理数据以完成业务流程的一部分所需的必要步骤。 一个典型的示例是从邮箱中读取一封电子邮件并从中提取数据的过程。
我们称数据为原子的,是因为一旦处理完数据,就假定我们不再需要将其用于业务流程。
考虑到业务流程的步骤及其重复方式,我们可以将业务流程分为三类:
1线性的
该过程的步骤仅执行一次,如果需要处理不同的数据,则需要再次执行自动化。 例如,如果我们回到本章介绍中的电子邮件示例,并且收到一封新电子邮件,则需要再次执行自动化以进行处理。
线性过程通常很简单且易于实现,但不适用于需要重复使用不同数据的步骤的情况。
2迭代式
该过程的步骤执行了多次,但是每次使用不同的数据项。 例如,自动化无需检索每次执行的单个电子邮件,而是可以检索多个电子邮件并以相同的步骤遍历它们。
可以通过一个简单的循环来实现这种处理,但是它的缺点是,如果在处理一个项目时发生问题,则整个过程将被中断,而其他项目将保持未处理状态。
3交易性
与迭代过程类似,事务过程的步骤在不同的数据项上重复多次。 但是,自动化系统的设计使每个可重复部分都得到独立处理。
这些可重复的部分称为交易。 事务彼此独立,因为它们不共享任何数据或具有任何要处理的特定订单。
这三类流程可以看作是自动化项目的成熟阶段,从简单的线性任务开始,然后重复多次,最后演变为事务性方法。
但是,这并不是在所有情况下的绝对规则,应根据过程的特征(例如正在处理的数据和重复的频率)和其他相关要求(例如易用性和鲁棒性)选择类别。
我将在哪些业务场景中使用事务处理?
您需要从文件夹中的几张发票中读取数据,并将该数据输入到另一个系统中。 每个发票都可以视为一项交易,因为每个发票都有一个重复的过程(即提取数据并在其他地方输入)。
电子表格中有一个人及其电子邮件地址的列表,需要将一封电子邮件以及个性化消息发送给每个人。 对于每个人来说,此过程中的步骤(即从电子表格中获取数据,创建个性化消息和发送电子邮件)都是相同的,因此电子表格中的每一行都可以视为一项交易。
在寻找新公寓时,可以使用机器人根据一些条件进行搜索,并且对于搜索的每个结果,机器人都会提取有关该物业的信息,并将数据插入电子表格中。 在这种情况下,每个属性的详细信息页面构成一个事务。
REF框架
它是什么?
一般来说,框架是一个模板,可以帮助您设计(自动化)流程。最低限度地,框架应提供一种存储,读取和轻松修改项目配置数据的方法,可靠的异常处理方案,所有异常的事件日志记录以及相关的事务信息。
REFramework被实现为状态机,这是一种工作流,具有两个非常有用的功能:
--定义根据指定输入要采取的措施的状态
--根据状态本身的结果在状态之间移动执行的过渡。
您可能还记得项目组织课程中的状态机。呈现的示例之一是典型的空调:
--它具有“关闭”状态,通过按“打开/关闭”按钮从该状态变为“空闲”状态;
--当用户输入的温度分别低于或高于当前温度时,它从空闲状态转变为热或冷状态。一旦达到所需的温度,它将返回到空闲状态。
--当按下ON / OFF按钮时,它可以从IDLE状态移到OFF状态。
--触发状态之间移动的所有条件都是“转移”。
基于类似的想法,REFramework具有业务流程通常共有的4个主要状态:
1初始状态
这是过程开始的地方。 在此过程中,过程将初始化设置并执行应用程序检查,以确保启动过程的所有前提条件均已就绪。
2获取交易数据状态
获取下一个交易项目。 这可以是队列项目或集合的任何项目。
默认情况下,交易项目是队列项目,但是可以轻松更改以满足您的需求。 这也是开发人员应设置条件以在没有要处理的项目时退出此状态的状态。
3处理交易状态
在上一步中获得的交易项目的各种应用程序中执行操作/应用逻辑。 处理交易项目后,该过程将继续处理下一个可用交易项目。
4最终流程状态
该过程结束(并且在自动化过程中打开的应用程序应正常关闭)。
为了更好地了解如何使用REFramework,让我们看一下以下情形:
电子表格中有一个人及其电子邮件地址的列表。 一封电子邮件需要通过基于模板的个性化消息发送给每个人。
选择下面的每个标记,以查看如何使用4种状态实现该过程:
REFramework功能
设定值
在许多过程中,通常需要在初始化阶段读取某些设置和配置值。 设置示例包括访问Web应用程序的URL,Orchestrator队列名称和默认日志消息。
REFramework通过从配置文件(Config.xlsx)中读取数据并将它们存储在不同状态之间共享的Dictionary对象(Config)中来跟踪这些数据。 这提供了一种通过更改配置文件中的值来维护项目的简便方法,而不是直接修改工作流。
记录中
REFramework的另一个强大功能是内置的日志记录机制。 组成框架的大多数工作流都使用Log Message活动,该活动输出执行每个步骤中发生的情况的详细信息。
这不仅可以用于发现问题并在调试过程中提供帮助,还可以用于创建有关过程执行的可视化效果和报告(例如,每天要处理多少张发票,发生多少次故障以及主要是什么) 故障原因)以及有关流程本身的信息(例如,一个月内处理的所有报告的总价值是多少)。
业务异常和应用程序异常
在大多数流程的执行过程中,可能会出现一些不属于正常执行流程的情况,需要解决这些情况以实现更强大的自动化。
例如,考虑使用几个Web应用程序的过程,但是在某个时候Web浏览器会冻结。如果活动(例如,Click)尝试与冻结的应用程序进行交互,则可能会失败并返回异常。REFramework旨在通过尝试再次处理事务(即,重试)或通过以下方式启用从异常中恢复:跳过该交易。
如果可以通过重新启动应用程序来解决问题的原因,那么框架将自动执行此操作,然后再次尝试处理同一事务。这些异常称为应用程序异常。
如果问题与数据本身或基础业务需求有关(例如,不要处理价值超过一定金额的发票),那么将跳过该事务,框架将继续进行下一个事务。这些异常称为业务规则异常。
Dispatcher & Performer
尽管REFramework可以用于不同类型的数据源,但它与Orchestrator队列提供了特别强大的集成。 使用队列时,可以为事务项定义优先级和截止日期,并跟踪失败事务的重试尝试。
队列的使用还启用了称为Dispatcher&Performer的执行模式,该模式将流程分为两个主要阶段:调度要处理的项目并将其添加到队列中,然后从队列中检索项目并使用该项目执行过程 。 该过程的第二部分通常使用REFramework构建。
Dispatcher
调度程序是用于将事务项推送到Orchestrator队列的过程。 它从一个或多个来源提取数据,并使用它来创建要由Performer机器人处理的队列项目。
信息被推送到一个或多个队列,从而使调度程序可以对存储在队列项目中的所有数据使用通用格式。
使用调度程序模式的主要优点是,您可以在多个机械手之间拆分项目的处理。
Performer
执行者是用于从协调器队列中提取交易项目并根据公司需要对其进行处理的过程。 队列项一次被处理。
它对每个处理的项目使用错误处理和重试机制。
Performer的主要优势在于它的可伸缩性(多个表演者可以与一个队列一起使用)
让我们使用与以前相同的方案,在电子表格中有一个人及其电子邮件地址的列表。 一封电子邮件需要通过基于模板的个性化消息发送给每个人。
我们可以通过以下方式使用Dispatcher&Performer模式:
调度程序从输入电子表格中读取行,并将数据(即名称和电子邮件)添加到队列中; 每个队列项目将在一个电子表格行中同时包含名称和电子邮件。
执行者从同一队列中检索项目,并使用该数据执行必要的操作,例如替换模板值和发送电子邮件。
Dispatcher & performer模型的优点:
1更好的流程分离(在调度程序和执行程序之间)
2更好地分离和区分体系结构和过程层
3更好的错误处理和重试机制
4可以在多台计算机上运行流程的可能性(可用性)
5在项目的已创建组件中更好的可重用性
6改进的内置配置和Orchestrator集成
7无需REFramework即可创建和修改先前的工作流程,以便使用REFramework和调度员/执行者模型