【RPA之家UiPath官方教程】機(jī)器人企業(yè)框架概述
機(jī)器人企業(yè)框架概述
本課程介紹UiPath機(jī)器人企業(yè)框架(REFramework)。 我們將介紹它可以幫助您完成的事項(xiàng),事務(wù)處理,調(diào)度員和執(zhí)行者。
受眾:RPA開發(fā)人員
學(xué)習(xí)目標(biāo)
在本課程結(jié)束時(shí),您應(yīng)該能夠:
說(shuō)明什么是交易以及使用交易的目的;
概述什么是REFramework及其工作方式;
描述調(diào)度員和執(zhí)行者模型如何幫助擴(kuò)展流程。
?
關(guān)于本課程
介紹
本課程介紹UiPath機(jī)器人企業(yè)框架(REFramework)。 我們將介紹事務(wù)處理,調(diào)度程序,執(zhí)行者的概念,并為您概述REFramework可以完成的工作。
?
受眾:RPA開發(fā)人員
課程時(shí)間:1小時(shí)
完成課程的要求:通過(guò)最低80%的分?jǐn)?shù)通過(guò)課程測(cè)驗(yàn)
先決條件:
基本編程知識(shí)
RPA開發(fā)人員角色課程簡(jiǎn)介
變量,數(shù)據(jù)類型和控制流程
數(shù)據(jù)處理課程
Excel和數(shù)據(jù)表課程
UI互動(dòng)課程
選擇器課程
項(xiàng)目組織課程
錯(cuò)誤和異常處理課程
調(diào)試課程
開發(fā)人員協(xié)調(diào)員課程
?
學(xué)習(xí)目標(biāo)
在本課程結(jié)束時(shí),您將能夠:
1說(shuō)明什么是交易以及使用交易的目的。
2概述什么是REFramework及其工作原理。
3描述調(diào)度員和執(zhí)行者模型如何幫助擴(kuò)展流程。
?
注意:本課程是使用UiPath Studio 2019.7創(chuàng)建的。 最新的Community Edition版本中的某些元素可能有所不同。
?
事務(wù)處理
什么是事務(wù)?
事務(wù)代表最?。ㄔ樱?shù)據(jù)量以及處理數(shù)據(jù)以完成業(yè)務(wù)流程的一部分所需的必要步驟。?一個(gè)典型的示例是從郵箱中讀取一封電子郵件并從中提取數(shù)據(jù)的過(guò)程。
我們稱數(shù)據(jù)為原子的,是因?yàn)橐坏┨幚硗陻?shù)據(jù),就假定我們不再需要將其用于業(yè)務(wù)流程。
?
考慮到業(yè)務(wù)流程的步驟及其重復(fù)方式,我們可以將業(yè)務(wù)流程分為三類:
1線性的
該過(guò)程的步驟僅執(zhí)行一次,如果需要處理不同的數(shù)據(jù),則需要再次執(zhí)行自動(dòng)化。?例如,如果我們回到本章介紹中的電子郵件示例,并且收到一封新電子郵件,則需要再次執(zhí)行自動(dòng)化以進(jìn)行處理。
線性過(guò)程通常很簡(jiǎn)單且易于實(shí)現(xiàn),但不適用于需要重復(fù)使用不同數(shù)據(jù)的步驟的情況。
?
2迭代式
該過(guò)程的步驟執(zhí)行了多次,但是每次使用不同的數(shù)據(jù)項(xiàng)。?例如,自動(dòng)化無(wú)需檢索每次執(zhí)行的單個(gè)電子郵件,而是可以檢索多個(gè)電子郵件并以相同的步驟遍歷它們。
可以通過(guò)一個(gè)簡(jiǎn)單的循環(huán)來(lái)實(shí)現(xiàn)這種處理,但是它的缺點(diǎn)是,如果在處理一個(gè)項(xiàng)目時(shí)發(fā)生問題,則整個(gè)過(guò)程將被中斷,而其他項(xiàng)目將保持未處理狀態(tài)。
?
3交易性
與迭代過(guò)程類似,事務(wù)過(guò)程的步驟在不同的數(shù)據(jù)項(xiàng)上重復(fù)多次。?但是,自動(dòng)化系統(tǒng)的設(shè)計(jì)使每個(gè)可重復(fù)部分都得到獨(dú)立處理。
這些可重復(fù)的部分稱為交易。?事務(wù)彼此獨(dú)立,因?yàn)樗鼈儾还蚕砣魏螖?shù)據(jù)或具有任何要處理的特定訂單。
?
這三類流程可以看作是自動(dòng)化項(xiàng)目的成熟階段,從簡(jiǎn)單的線性任務(wù)開始,然后重復(fù)多次,最后演變?yōu)槭聞?wù)性方法。
但是,這并不是在所有情況下的絕對(duì)規(guī)則,應(yīng)根據(jù)過(guò)程的特征(例如正在處理的數(shù)據(jù)和重復(fù)的頻率)和其他相關(guān)要求(例如易用性和魯棒性)選擇類別。
?
我將在哪些業(yè)務(wù)場(chǎng)景中使用事務(wù)處理?
您需要從文件夾中的幾張發(fā)票中讀取數(shù)據(jù),并將該數(shù)據(jù)輸入到另一個(gè)系統(tǒng)中。?每個(gè)發(fā)票都可以視為一項(xiàng)交易,因?yàn)槊總€(gè)發(fā)票都有一個(gè)重復(fù)的過(guò)程(即提取數(shù)據(jù)并在其他地方輸入)。
電子表格中有一個(gè)人及其電子郵件地址的列表,需要將一封電子郵件以及個(gè)性化消息發(fā)送給每個(gè)人。?對(duì)于每個(gè)人來(lái)說(shuō),此過(guò)程中的步驟(即從電子表格中獲取數(shù)據(jù),創(chuàng)建個(gè)性化消息和發(fā)送電子郵件)都是相同的,因此電子表格中的每一行都可以視為一項(xiàng)交易。
?
在尋找新公寓時(shí),可以使用機(jī)器人根據(jù)一些條件進(jìn)行搜索,并且對(duì)于搜索的每個(gè)結(jié)果,機(jī)器人都會(huì)提取有關(guān)該物業(yè)的信息,并將數(shù)據(jù)插入電子表格中。?在這種情況下,每個(gè)屬性的詳細(xì)信息頁(yè)面構(gòu)成一個(gè)事務(wù)。
?
REF框架
它是什么?
一般來(lái)說(shuō),框架是一個(gè)模板,可以幫助您設(shè)計(jì)(自動(dòng)化)流程。最低限度地,框架應(yīng)提供一種存儲(chǔ),讀取和輕松修改項(xiàng)目配置數(shù)據(jù)的方法,可靠的異常處理方案,所有異常的事件日志記錄以及相關(guān)的事務(wù)信息。
?
REFramework被實(shí)現(xiàn)為狀態(tài)機(jī),這是一種工作流,具有兩個(gè)非常有用的功能:
--定義根據(jù)指定輸入要采取的措施的狀態(tài)
--根據(jù)狀態(tài)本身的結(jié)果在狀態(tài)之間移動(dòng)執(zhí)行的過(guò)渡。
?
您可能還記得項(xiàng)目組織課程中的狀態(tài)機(jī)。呈現(xiàn)的示例之一是典型的空調(diào):
--它具有“關(guān)閉”狀態(tài),通過(guò)按“打開/關(guān)閉”按鈕從該狀態(tài)變?yōu)椤翱臻e”狀態(tài);
--當(dāng)用戶輸入的溫度分別低于或高于當(dāng)前溫度時(shí),它從空閑狀態(tài)轉(zhuǎn)變?yōu)闊峄蚶錉顟B(tài)。一旦達(dá)到所需的溫度,它將返回到空閑狀態(tài)。
--當(dāng)按下ON / OFF按鈕時(shí),它可以從IDLE狀態(tài)移到OFF狀態(tài)。
--觸發(fā)狀態(tài)之間移動(dòng)的所有條件都是“轉(zhuǎn)移”。
?
基于類似的想法,REFramework具有業(yè)務(wù)流程通常共有的4個(gè)主要狀態(tài):
1初始狀態(tài)
這是過(guò)程開始的地方。?在此過(guò)程中,過(guò)程將初始化設(shè)置并執(zhí)行應(yīng)用程序檢查,以確保啟動(dòng)過(guò)程的所有前提條件均已就緒。
?
2獲取交易數(shù)據(jù)狀態(tài)
獲取下一個(gè)交易項(xiàng)目。?這可以是隊(duì)列項(xiàng)目或集合的任何項(xiàng)目。
默認(rèn)情況下,交易項(xiàng)目是隊(duì)列項(xiàng)目,但是可以輕松更改以滿足您的需求。?這也是開發(fā)人員應(yīng)設(shè)置條件以在沒有要處理的項(xiàng)目時(shí)退出此狀態(tài)的狀態(tài)。
?
3處理交易狀態(tài)
在上一步中獲得的交易項(xiàng)目的各種應(yīng)用程序中執(zhí)行操作/應(yīng)用邏輯。 處理交易項(xiàng)目后,該過(guò)程將繼續(xù)處理下一個(gè)可用交易項(xiàng)目。
?
4最終流程狀態(tài)
該過(guò)程結(jié)束(并且在自動(dòng)化過(guò)程中打開的應(yīng)用程序應(yīng)正常關(guān)閉)。
?
為了更好地了解如何使用REFramework,讓我們看一下以下情形:
電子表格中有一個(gè)人及其電子郵件地址的列表。?一封電子郵件需要通過(guò)基于模板的個(gè)性化消息發(fā)送給每個(gè)人。
選擇下面的每個(gè)標(biāo)記,以查看如何使用4種狀態(tài)實(shí)現(xiàn)該過(guò)程:
?
?
REFramework功能
設(shè)定值
在許多過(guò)程中,通常需要在初始化階段讀取某些設(shè)置和配置值。?設(shè)置示例包括訪問Web應(yīng)用程序的URL,Orchestrator隊(duì)列名稱和默認(rèn)日志消息。
?
REFramework通過(guò)從配置文件(Config.xlsx)中讀取數(shù)據(jù)并將它們存儲(chǔ)在不同狀態(tài)之間共享的Dictionary對(duì)象(Config)中來(lái)跟蹤這些數(shù)據(jù)。 這提供了一種通過(guò)更改配置文件中的值來(lái)維護(hù)項(xiàng)目的簡(jiǎn)便方法,而不是直接修改工作流。
?
記錄中
REFramework的另一個(gè)強(qiáng)大功能是內(nèi)置的日志記錄機(jī)制。 組成框架的大多數(shù)工作流都使用Log Message活動(dòng),該活動(dòng)輸出執(zhí)行每個(gè)步驟中發(fā)生的情況的詳細(xì)信息。
?
這不僅可以用于發(fā)現(xiàn)問題并在調(diào)試過(guò)程中提供幫助,還可以用于創(chuàng)建有關(guān)過(guò)程執(zhí)行的可視化效果和報(bào)告(例如,每天要處理多少?gòu)埌l(fā)票,發(fā)生多少次故障以及主要是什么)?故障原因)以及有關(guān)流程本身的信息(例如,一個(gè)月內(nèi)處理的所有報(bào)告的總價(jià)值是多少)。
?
業(yè)務(wù)異常和應(yīng)用程序異常
在大多數(shù)流程的執(zhí)行過(guò)程中,可能會(huì)出現(xiàn)一些不屬于正常執(zhí)行流程的情況,需要解決這些情況以實(shí)現(xiàn)更強(qiáng)大的自動(dòng)化。
?
例如,考慮使用幾個(gè)Web應(yīng)用程序的過(guò)程,但是在某個(gè)時(shí)候Web瀏覽器會(huì)凍結(jié)。如果活動(dòng)(例如,Click)嘗試與凍結(jié)的應(yīng)用程序進(jìn)行交互,則可能會(huì)失敗并返回異常。REFramework旨在通過(guò)嘗試再次處理事務(wù)(即,重試)或通過(guò)以下方式啟用從異常中恢復(fù):跳過(guò)該交易。
?
?如果可以通過(guò)重新啟動(dòng)應(yīng)用程序來(lái)解決問題的原因,那么框架將自動(dòng)執(zhí)行此操作,然后再次嘗試處理同一事務(wù)。這些異常稱為應(yīng)用程序異常。
?
如果問題與數(shù)據(jù)本身或基礎(chǔ)業(yè)務(wù)需求有關(guān)(例如,不要處理價(jià)值超過(guò)一定金額的發(fā)票),那么將跳過(guò)該事務(wù),框架將繼續(xù)進(jìn)行下一個(gè)事務(wù)。這些異常稱為業(yè)務(wù)規(guī)則異常。
?
Dispatcher & Performer
盡管REFramework可以用于不同類型的數(shù)據(jù)源,但它與Orchestrator隊(duì)列提供了特別強(qiáng)大的集成。 使用隊(duì)列時(shí),可以為事務(wù)項(xiàng)定義優(yōu)先級(jí)和截止日期,并跟蹤失敗事務(wù)的重試嘗試。
?
隊(duì)列的使用還啟用了稱為Dispatcher&Performer的執(zhí)行模式,該模式將流程分為兩個(gè)主要階段:調(diào)度要處理的項(xiàng)目并將其添加到隊(duì)列中,然后從隊(duì)列中檢索項(xiàng)目并使用該項(xiàng)目執(zhí)行過(guò)程 。 該過(guò)程的第二部分通常使用REFramework構(gòu)建。
?
Dispatcher
調(diào)度程序是用于將事務(wù)項(xiàng)推送到Orchestrator隊(duì)列的過(guò)程。 它從一個(gè)或多個(gè)來(lái)源提取數(shù)據(jù),并使用它來(lái)創(chuàng)建要由Performer機(jī)器人處理的隊(duì)列項(xiàng)目。
信息被推送到一個(gè)或多個(gè)隊(duì)列,從而使調(diào)度程序可以對(duì)存儲(chǔ)在隊(duì)列項(xiàng)目中的所有數(shù)據(jù)使用通用格式。
使用調(diào)度程序模式的主要優(yōu)點(diǎn)是,您可以在多個(gè)機(jī)械手之間拆分項(xiàng)目的處理。
?
?
Performer
執(zhí)行者是用于從協(xié)調(diào)器隊(duì)列中提取交易項(xiàng)目并根據(jù)公司需要對(duì)其進(jìn)行處理的過(guò)程。?隊(duì)列項(xiàng)一次被處理。
它對(duì)每個(gè)處理的項(xiàng)目使用錯(cuò)誤處理和重試機(jī)制。
Performer的主要優(yōu)勢(shì)在于它的可伸縮性(多個(gè)表演者可以與一個(gè)隊(duì)列一起使用)
?
?
讓我們使用與以前相同的方案,在電子表格中有一個(gè)人及其電子郵件地址的列表。?一封電子郵件需要通過(guò)基于模板的個(gè)性化消息發(fā)送給每個(gè)人。
我們可以通過(guò)以下方式使用Dispatcher&Performer模式:
調(diào)度程序從輸入電子表格中讀取行,并將數(shù)據(jù)(即名稱和電子郵件)添加到隊(duì)列中;?每個(gè)隊(duì)列項(xiàng)目將在一個(gè)電子表格行中同時(shí)包含名稱和電子郵件。
執(zhí)行者從同一隊(duì)列中檢索項(xiàng)目,并使用該數(shù)據(jù)執(zhí)行必要的操作,例如替換模板值和發(fā)送電子郵件。
?
Dispatcher & performer模型的優(yōu)點(diǎn):
1更好的流程分離(在調(diào)度程序和執(zhí)行程序之間)
2更好地分離和區(qū)分體系結(jié)構(gòu)和過(guò)程層
3更好的錯(cuò)誤處理和重試機(jī)制
4可以在多臺(tái)計(jì)算機(jī)上運(yùn)行流程的可能性(可用性)
5在項(xiàng)目的已創(chuàng)建組件中更好的可重用性
6改進(jìn)的內(nèi)置配置和Orchestrator集成
7無(wú)需REFramework即可創(chuàng)建和修改先前的工作流程,以便使用REFramework和調(diào)度員/執(zhí)行者模型
?
?
?
?
?
?
?
?
?
?
?