日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2023/12/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【前沿技术RPA】 一文了解UiPath 机器人企业框架 (REFramework) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

🐋作者簡介:博主是一位.Net開發(fā)者,同時也是RPA和低代碼平臺的踐行者。
🐬個人主頁:會敲鍵盤的肘子
🐰系列專欄:UiPath
🦀專欄簡介:UiPath在傳統(tǒng)的RPA(Robotic process automation)的基礎上,增加了See(AI通過計算機視覺閱讀用戶的計算機屏幕)和Think(通過機器學習來發(fā)現平臺能夠為用戶構建什么自動化流程)從而不斷幫助用戶自動化構建流程,而不僅僅是用戶自主發(fā)現,自主構建。并且在構建的過程當中,做到了Low-code甚至是No-code的程度,讓每一位員工都可以自主使用。
🐶座右銘:總有一天你所堅持的會反過來擁抱你。


🌈寫在前面:

本博文主要介紹 UiPath 機器人企業(yè)框架 (REFramework)。我們將討論事務處理、調度程序和執(zhí)行程序的概念,還會簡要介紹 REFramework 可以完成的任務。


👉本文關鍵字:RPA、UiPath、Low-code、No-code、機器人企業(yè)框架、REFramework、.Net

文章目錄

      • 1?? 背景
        • ? 什么是RPA
        • ? 什么是UiPath
        • ? 為什么使用UiPath
        • ? 環(huán)境
      • 2?? 事務處理
        • ? 定義
          • ? 線性
          • ? 迭代
          • ? 事務性
        • ? 適合使用事務流程的業(yè)務場景
      • 3?? REFramework
        • ? 定義
          • ? 初始狀態(tài)
          • ? 獲取事務狀態(tài)
          • ? 流程事務狀態(tài)
          • ? 結束流程狀態(tài)
      • 4?? REFramework 的功能
        • ? 設置
        • ? 日志記錄
        • ? 業(yè)務異常和應用程序異常
      • 5?? 調度程序和執(zhí)行程序
        • ? 調度程序
        • ? 執(zhí)行程序
      • 6?? 調度程序和 REFramework 執(zhí)行程序演示
        • ? 創(chuàng)建REFramework項目
        • ? Initialization
        • ? Get Transaction Data
        • ? Process Transaction
        • ? End Process
        • ? 方法
      • 7?? 參考資料

1?? 背景

? 什么是RPA

RPA(Robotic process automation) 代表機器人過程自動化

它是一種軟件程序,可在與計算機應用程序交互時模仿人類行為并實現重復的、基于規(guī)則的流程的自動化。

? 什么是UiPath

UiPath 是一種機器人流程自動化工具,用于自動化枯燥和重復的任務。它由羅馬尼亞企業(yè)家 Daniel Dines 和 Marius Trica 于 2005 年創(chuàng)立。它還消除了自動化無聊任務的人工干預,并為所有活動提供了拖放功能,它是最簡單的 RPA 工具。

? 為什么使用UiPath

UiPath在傳統(tǒng)的RPA的基礎上,增加了See(AI通過計算機視覺閱讀用戶的計算機屏幕)和Think(通過機器學習來發(fā)現平臺能夠為用戶構建什么自動化流程)從而不斷幫助用戶自動化構建流程,而不僅僅是用戶自主發(fā)現,自主構建。并且在構建的過程當中,做到了Low-code甚至是No-code的程度,讓每一位員工都可以自主使用。

? 環(huán)境

  • UiPath Studio Community 2022.4.3

  • Windows 10

  • .Net

2?? 事務處理

? 定義

事務是指對數據進行處理所需要的最小(原子)數據量以及必要的步驟,其目的是為了完成業(yè)務流程的一個部分。從郵箱中讀取一封電子郵件,然后從電子郵件中提取數據的流程就是一個典型事務示例。

我們把事務數據稱為原子數據是因為一旦完成數據處理,即可假設在繼續(xù)處理業(yè)務流程時不再需要這些數據。

考慮到業(yè)務流程的步驟及其重復執(zhí)行方式,我們可以將業(yè)務流程分為以下三個類別:

? 線性

流程中的步驟僅執(zhí)行一次,如果需要處理不同的數據,則需要再次執(zhí)行自動化。例如,回到在本章簡介部分介紹的電子郵件示例,當收到新電子郵件時,系統(tǒng)需要再次執(zhí)行自動化才能進行處理。

線性流程通常很簡單,而且很容易實施,但不太適合需要使用不同數據重復執(zhí)行步驟的情況。

? 迭代

流程中的步驟可以執(zhí)行多次,但每次使用不同的數據項目。例如,自動化可以檢索多封電子郵件并迭代執(zhí)行相同的步驟,而不是每執(zhí)行一次僅讀取一封電子郵件。

這種流程可以通過簡單的循環(huán)實現,但缺點是,如果在處理一個項目時出現問題,整個流程就會中斷,因此,其他項目將無法得到處理。

? 事務性

與迭代流程相似,事務性流程的步驟也會使用不同的數據項目來重復執(zhí)行多次。但是,自動化的設計使每個可重復部分得到獨立處理

這些可重復的部分稱為事務。事務相互保持獨立,因為它們不會共享任何數據,也沒有特定的處理順序。

您可以將這三類流程看作自動化項目逐步走向成熟的各個階段,從簡單的線性任務開始,經過反復改進,最后演變?yōu)槭聞招苑椒ā?/p>

不過,凡事沒有絕對規(guī)則,我們要根據流程的特征(例如,要處理的數據以及重復的頻率)和其他相關要求(例如,易用性和穩(wěn)定性)來選擇合適的類別。

? 適合使用事務流程的業(yè)務場景

  • 某個文件夾中有多張發(fā)票,您需要從發(fā)票中讀取數據,并將數據輸入另一個系統(tǒng)。在本例中,我們可以將每張發(fā)票視為一個事務,因為它們都需要按照重復的流程進行處理(即提取數據并輸入其他位置)。
  • 某個電子表格中包含人員及其電子郵件地址的列表,您需要向其中每位人員發(fā)送一封電子郵件以及一條個性化消息。對于每位人員來說,此流程中的步驟(即從電子表格獲取數據,創(chuàng)建個性化消息和發(fā)送電子郵件)都是相同的,因此,我們可以將此電子表格中的每一行視為一個事務。
  • 在尋找新公寓時,我們可以設立一些條件,然后使用機器人進行搜索。對于每個搜索結果,機器人會提取有關公寓的信息,并將數據插入電子表格中。在本例中,每間公寓的詳細信息頁面就構成了一個事務。

3?? REFramework

? 定義

一般來說,框架就是幫助您設計(自動化)流程的模板。作為框架,至少要提供一種存儲、讀取和便于修改項目配置數據的方法,還要提供強大的異常處理方案,以及關于所有異常和相關事務信息的事件記錄。

REFramework 作為狀態(tài)機實現,這是一種工作流,具有兩個非常有用的功能:

  • 其一是狀態(tài),它可以根據指定的輸入,定義要執(zhí)行的操作。
  • 其二是轉移,它可以根據狀態(tài)本身的結果,在狀態(tài)之間切換執(zhí)行。

您可以參考項目組織博文中的狀態(tài)機。其中介紹了一個典型的例子,即空調:

  • 當空調處于關閉狀態(tài)時,只需按下開/關按鈕,它就會切換到空閑狀態(tài);
  • 在空閑狀態(tài)下,如果用戶輸入的溫度低于當前溫度,它就會切換到加熱狀態(tài);如果高于當前溫度,它就會切換到致冷狀態(tài)。一旦達到需要的溫度,它又會回到空閑狀態(tài);
  • 在空閑狀態(tài)下,如果按下開/關按鈕,它可以切換到關閉狀態(tài);
  • 觸發(fā)這些狀態(tài)轉換的所有條件都屬于轉移。

基于類似的想法,REFramework 包括 4 種主要狀態(tài)。

? 初始狀態(tài)

這是流程啟動時的狀態(tài)。我們可以將其視為一種操作。在此操作中,流程會初始化設置并執(zhí)行應用程序檢查,從而確保滿足啟動流程的所有先決條件。

? 獲取事務狀態(tài)

獲取下一個事務項目。它可能是隊列項目,也可能是集合中的任何項目。

默認情況下,事務項目是隊列項目,但為了滿足特定的需求,您可以輕松更改其類型。對于這種狀態(tài),開發(fā)者需要設置沒有項目需要處理時的退出條件。

? 流程事務狀態(tài)

通過上一個步驟獲取事務項目后,在各個應用程序中執(zhí)行操作/應用邏輯。完成事務項目處理后,流程將繼續(xù)處理下一個可用的事務項目。

? 結束流程狀態(tài)

流程結束(在自動化期間打開的應用程序應正常關閉)。

為了便于理解如何使用 REFramework,下面我們來介紹一個場景:

某個電子表格中包含人員及其電子郵件地址的列表,您需要基于模板向其中每位人員發(fā)送一封電子郵件以及一條個性化消息。

4?? REFramework 的功能

? 設置

在很多流程中,通常都會使用在初始化階段讀取的某些設置和配置值。設置的示例包括用于訪問 Web 應用程序的 URL、Orchestrator 隊列名稱和默認記錄消息。

REFramework 先從配置文件 (Config.xlsx) 讀取這些數據,然后將其存儲在可在不同狀態(tài)之間共享的字典對象 (Config) 中,從而實現數據跟蹤。它提供了一種簡單方法,通過更改配置文件中的值(而不是直接修改工作流)即可維護項目。

? 日志記錄

REFramework 的另一個強大功能是內置記錄機制。組成框架的大多數工作流都使用日志消息活動。這些活動會輸出在基于每個執(zhí)行步驟發(fā)生情況的詳細信息上。

這種機制不僅可用于查找問題,幫助您完成調試流程,還可用于創(chuàng)建有關流程執(zhí)行(例如,每天處理了多少張發(fā)票,發(fā)生了多少次故障和引發(fā)故障的主要原因)以及流程本身(例如,一個月內處理的所有報告的匯總值)的可視化內容和報告。

? 業(yè)務異常和應用程序異常

在執(zhí)行過程中,大多數流程都可能出現與正常執(zhí)行流程相悖的異常情況,您必須解決問題才能實現更可靠的自動化。

例如,假設某個流程使用了幾個 Web 應用程序,但 Web 瀏覽器在某個點會停止響應。如果某個活動(比如說點擊)嘗試與停止響應的應用程序交互,則可能會失敗并返回異常。經過設計,REFramework 會嘗試再次處理事務(即重試)或跳過該事務,從而實現從異常中恢復。

如果重新啟動應用程序可以解決問題,框架會自動完成操作,并且會再次嘗試處理同一事務。這些異常稱為應用程序異常。

如果問題與數據本身或業(yè)務的基本要求相關(例如,不處理價值超過特定金額的發(fā)票),則框架會跳過該事務,并繼續(xù)處理下一個事務。這些異常稱為業(yè)務規(guī)則異常。

5?? 調度程序和執(zhí)行程序

雖然企業(yè)框架可以使用不同類型的數據源,但是企業(yè)框架結合了一種特殊的數據源:Orchestrator Queue,也就是隊列結構。當使用隊列時,可以定義項目的優(yōu)先級和截止期來追蹤重試或失敗的項目。使用隊列也啟用了名為“調度程序和執(zhí)行程序”的執(zhí)行模式。該模式將流程分為兩個主要階段:調度要處理的項目并將其添加到隊列中,然后從隊列中檢索項目并使用該項目執(zhí)行流程。流程的第二部分通常使用 REFramework 構建。

? 調度程序

調度程序是用于將事務項目推送到 Orchestrator 隊列的流程。它從一個或多個來源提取數據,并使用這些數據來創(chuàng)建將由執(zhí)行程序機器人處理的隊列項目。

系統(tǒng)將信息推送到一個或多個隊列,從而讓調度程序為隊列項目中存儲的所有數據使用通用格式。

使用調度程序模式的主要優(yōu)點是,您可以在多個機器人之間拆分項目的處理。

? 執(zhí)行程序

執(zhí)行程序是用于從 Orchestrator 隊列中拉取事務項目,并根據公司需求處理這些項目的流程。它每次處理一個隊列項目。

每個處理的項目都有錯誤處理和重試機制。

執(zhí)行程序的主要優(yōu)點是可擴展性(多個執(zhí)行程序可以與單個隊列一起使用)。

我們仍使用前述同一場景,某個電子表格中包含人員及其電子郵件地址的列表。您需要基于模板向其中每位人員發(fā)送一封電子郵件以及一條個性化消息。

我們可以通過以下方式使用“調度程序和執(zhí)行程序”模式:

  • 調度程序從輸入電子表格讀取行,并將數據(即姓名和電子郵件)添加到隊列中;每個隊列項目都將包含來自電子表格某一行的姓名和電子郵件地址。
  • 執(zhí)行程序檢索來自同一隊列的項目,并使用該數據執(zhí)行必要的操作,比如說替換模板值和發(fā)送電子郵件。
  • 調度程序和執(zhí)行程序模型的優(yōu)點:

    • 流程分離更明確(調度程序和執(zhí)行程序之間)
    • 架構層與流程層的分離和區(qū)分更明確
    • 更完善的錯誤處理和重試機制
    • 可跨多臺計算機運行流程(可用性)
    • 在項目創(chuàng)建的組件內提供更好的可重用性
    • 改進了內置的配置和 Orchestrator 集成
    • 輕松調整和部署以前未使用 REFramework 創(chuàng)建的工作流,從而使用 REFramework 和調度程序/執(zhí)行程序模型

    6?? 調度程序和 REFramework 執(zhí)行程序演示

    ? 創(chuàng)建REFramework項目

    首先,我們用Templates中的REFramework創(chuàng)建一個項目,如下圖所示。

    Main.xaml 已打開,其中顯示有一個序列。

    在Main文件中我們可以看到上述提到的4個狀態(tài)。

    ? Initialization

    打開Initialization狀態(tài)機,我們可以看到讀取了Config文件中的Settings和Constants頁的數據,通過字典類型緩存起來。

    在 InitAllSettings 工作流中,您要加載與應用程序或流相關的所有設置和數據。在此狀態(tài)下使用的文件之一是 Config 文件,它位于項目的“數據”文件夾中。

    其中包含有關設置、常量和資產的各種信息。根據需要,這些信息可用于處理數據和配置 REFramework,在“REFramework 深入探索”課程中可以了解有關 Config 文件的詳細信息。



    ? Get Transaction Data

    ? Process Transaction

    ? End Process

    ? 方法

    1. 調度程序:-從 Excel 文件獲取條目,并在 Orchestrator 中將其添加為隊列項目。

    首先,我們創(chuàng)建了一個序列項目,然后添加了“Try Catch 異常處理”活動。在“嘗試”塊中:

    • 我們使用“讀取范圍”讀取 Excel 文件中的前 10 行(A1:C11),并將其存儲在新建的 DataTable 變量中;
    • 我們使用“遍歷每一行”來循環(huán)遍歷的 DataTable 變量中行,并使用“添加隊列項目”活動將其添加到隊列中。
    • 我們使用“日志消息”活動來記錄已成功執(zhí)行調度流程的消息。

    2. 執(zhí)行程序- 從隊列中獲取并處理項目(事務)

    a. 在初始狀態(tài)下:

    • 調用 InitAllSettings 工作流,以初始化使用的應用程序和流程的所有設置和數據。在這個部分,系統(tǒng)將讀取“數據”文件夾中 Config.xlsx 文件的設置、常量和資產;
    • 調用 InitAllApps 工作流,以打開應用并檢查其狀態(tài)、憑據等;
    • 調用 KillAllProcesses 工作流,以保留使用的應用程序的單個實例。

    任何系統(tǒng)錯誤都會讓流程進入結束流程狀態(tài)。

    b. 在獲取事務數據狀態(tài)下:

    • 序列中,使用 “should stop” 活動來驗證 Orchestrator 是否發(fā)送了停止信號。
    • 如果沒有, 則調用獲取事務數據工作流,該工作流使用獲取隊列項目活動來從 Orchestrator 獲取事務信息。

    如果沒有要讀取的數據,它會進入結束流程狀態(tài)。

    c. 在流程事務狀態(tài)下:

    • 流程是一個使用“嘗試捕獲”活動集來捕獲系統(tǒng)異常和業(yè)務異常的序列

    • 在“嘗試”塊中,調用“處理事務”工作流,它具有一個簡單的流程,用于:

      • 附加到 UiDemo 應用程序
      • 3 個“輸入信息”活動用于填寫“兌現”、“銀行內求償支票”和“非銀行內求償支票”字段;
      • 'Click“接受”按鈕。

    d. 在結束流程狀態(tài)下,使用“關閉應用程序”。

    7?? 參考資料

    GitHub UiPath REFramework


    ?寫在結尾:

    文章中出現的任何錯誤請大家批評指出,一定及時修改。

    希望寫在這里的小伙伴能給個三連支持

    總結

    以上是生活随笔為你收集整理的【前沿技术RPA】 一文了解UiPath 机器人企业框架 (REFramework)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。