1、机器人企业框架概述



一、事务
事务是指对数据进行处理需要的最小数据量和处理步骤,目的是为了能完成业务流程中的一部分,
即最小的业务流。

二、业务流程类别
线性
流程中的业务步骤只执行一次,如果需要处理不同的数据,则需要再次执行自动化。
线性流程通常比较简单,实施也比较容易,但是不太适合需要使用不同数据重复执行业务操作的情况。
迭代
流程中的步骤可以执行多次,但每次使用不同的数据源。
这种流程可以通过简单的循环来实现,但缺点是,如果在处理一个项目时出现问题,整个流程就会中断,
导致其他项目无法继续等到处理。
事务性
与迭代流程相似,事务性流程的步骤也会使用不同的数据项目来重复执行多次。
但是,自动化的设计使得每个可重复部分都独立开,即各事务保持相互独立,不共享数据,
也没有特定的处理顺序。
在实施过程中,我们需要根据流程的特征,(例如要处理的数据以及重复的频率)和其他相关要求,
(如易用和稳定性)来选择适合的类别。

三、REFramework
框架是指导设计自动化流程的模板,作为框架,至少要提供一种存储,读取,和便于修改项目配置参数数据的方法,
还要提供强大的异常处理机制,以及关于所有异常和相关事务信息的事件记录。

REFramework是通过状态机来实现的工作流,其具有两个非常有用的功能:
1、状态,可以根据指定的输入,定义要执行的操作。
2、转移,可以根据状态本身的结果,在状态之间切换执行。

REFramework包含四种主要状态,通常这些状态在业务流程中十分常见。
1、初始状态,
这是流程启动时的状态,在此状态中,会执行流程参数初始化设置,
并执行应用程序检查,从而确保满足流程启动的所有先决条件。
2、获取事务状态,
获取下一个事务项目,可以的队列项目,也可能是任何一种集合中的项目。
默认情况下,事务项目是队列项目,但是为了满足特定的需求,也可以手动修改其类型,
此时必须设置当没有项目需要处理时的退出条件设置。
3、流程事务状态
通过上一步中获取到事务项目之后,在各个应用程序中执行操作,完成事务项目处理之后,
流程将继续处理下一个可用的事务项目。
4、流程流程状态
流程结束,关闭自动化期间打开的各种应用程序。

REFramework的功能
1、设置(Config)
在很多流程中,通常会使用在初始化阶段读取的某些设置和配置值,设置的示例包括用于访问
Web应用程序的URL,Orchestrator队列名称和默认记录消息。
REFramework先从配置文件(Config.xlsx)读取这些数据,然后将其存储在可在不同状态之间
共享的字典对象(Config)中,从而实现数据传递。这可以使得简单更改配置文件中的值(不更改工作流)
即可维护项目。
2、日志记录
REFramework的内置记录机制,组成框架的大多数工作流都使用日志消息活动,这些活动会
输出在基于每个执行步骤发生情况的详细信息上。
日志记录不仅可用于查找问题,以帮助完成流程调试,还可以用于创建有关流程执行(如处理了多少事
务,处理过程中发生了多少次异常以及引发异常的主要原因等)以及流程本身(如一段时间内完成了多少次报告的汇总)
的可视化内容和报告。
3、业务异常和应用程序异常
在自动化流程执行过程中,大多数流程都可能会出现与正常流程执行相悖的异常情况,
此时必须解决掉异常的问题才能使得流程更加稳健可靠。
如重新启动应用程序就可以解决的问题,框架会自动完成操作,并且会再次尝试处理同一事务,
这些异常属于应用程序异常。
如问题的发生与数据本身或者业务基本要求相关,则框架会跳过该事务,并继续处理下一个事务,
这些异常属于业务规则异常。

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

调度程序(DIspatcher)
调度程序是用于将事务项目推送到Orchestrator队列的流程,它从一个或多个来源提取数据,并使用这些数据来创建将由执行程序(Performer)机器人处理的队列项目。
系统将信息推送到一个或多个队列,从而让调度程序为队列项目中存储的所有数据使用通用的格式。
使用调度程序模式的主要优点是,您可以在多个机器人之间拆分项目的处理,即一个队列中多个事务数据动态分配多个机器人一起执行。

执行程序(Performer)
执行程序是用于从Orchestrator队列中拉取事务项目,并根据企业的需求处理这些项目的流程,它每次处理一个队列中的事务项目。
每个处理的项目都有错误处理和重试机制。
执行程序的主要优点是可拓展性(多个执行程序可以与单个队列一起使用)

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

从queue中取值,transactionitem.SpecificContent("name")

在执行程序的初始状态下,任何系统异常都会让流程进入结束流程状态。

单元测试题目:

1、调度程序的作用是:
读取数据并填充队列。

2、REFramework 基于哪种类型的项目构建?
状态机

3、获取事务数据状态适用于以下数据...
来自队列和集合的数据

4、您需要从未安装 Excel 的计算机上的 .xlsx 文件读取数据。如何实现?
使用“系统”>“文件”>“工作簿”>“读取范围”活动

5、为什么建议将 REFramework 设置和配置值存储在单独的文件中并在初始化期间读取?
项目维护效率高:更改配置文件中的内容比更改项目更容易。

6、REFramework 典型项目的主要状态有哪些?
初始状态、获取事务状态、流程事务状态、结束状态

7、与迭代类型相比,事务性流程类型的主要改进是什么?
获取数据与处理数据相互完全独立。

8、下面哪些是 REFramework 的功能?
日志记录,Config,业务和应用异常

9、如何应用“调度程序和执行程序”模型?
作业应在单独的计算机上独立运行

10、从事务处理的角度来看,流程包括哪些类型?
线性、迭代、事务性