【UiPath Studio 中文文檔】自動化程序的最佳實踐 - 03 項目組織

高級別框架

從通用(和未知流程)框架開始,確保您以一致和結(jié)構(gòu)化的方式處理任何流程吐咳。框架幫助您從高級視圖開始俏站,然后深入了解每個流程的具體細(xì)節(jié)。

機(jī)器人企業(yè)框架模板 建議對重復(fù)過程進(jìn)行靈活的高層概述痊土,并包含本指南中描述的一組良好的實踐肄扎,并且可以很容易地用作使用 UiPath 進(jìn)行 RPA 開發(fā)的堅實起點。該模板構(gòu)建在狀態(tài)機(jī)結(jié)構(gòu)上赁酝。

它是如何運(yùn)作的:

  • 機(jī)器人從配置文件和 Orchestrator 資源中加載設(shè)置犯祠,并將它們保存在要跨工作流共享的字典中。
  • 機(jī)器人獲取所需的憑據(jù)并登錄到所有應(yīng)用程序中酌呆。
  • 如果遇到任何錯誤衡载,則重試幾次,然后成功或中止隙袁。
  • 機(jī)器人檢查輸入隊列或其他輸入源以啟動新事務(wù)痰娱。
  • 如果沒有(更多的)輸入數(shù)據(jù)可用,則將工作流配置為等待和重試菩收,或者結(jié)束流程梨睁。執(zhí)行用于處理事務(wù)數(shù)據(jù)的UI交互。
  • 如果事務(wù)處理成功坛梁,則更新事務(wù)狀態(tài)而姐,機(jī)器人繼續(xù)進(jìn)行下一個事務(wù)。
  • 如果遇到任何驗證錯誤划咐,事務(wù)狀態(tài)被更新,機(jī)器人移動到下一個事務(wù)钧萍。
  • 如果遇到任何異常褐缠,機(jī)器人會重新嘗試處理事務(wù)幾次(如果配置的話),或者將項目標(biāo)記為失敗并重新啟動风瘦。
    -如果配置了郵件队魏,最后則可以發(fā)送一封帶有進(jìn)程狀態(tài)的電子郵件。

用于基于事務(wù)的流程(例如 處理 Excel 文件中的所有發(fā)票 ),沒有通過 Orchestrator 執(zhí)行胡桨,則可以構(gòu)建本地隊列(使用 .net 的 enqueue/ dequeue 方法)官帘。

然后,高級別流程(異常處理昧谊、重試刽虹、恢復(fù))的流程可以很容易地重復(fù)執(zhí)行,這比將整個流程分組在一個 For Each Row 循環(huán)下面更容易呢诬。

所有的 REFrameWork 文件和文檔可以在 這里 找到涌哲。

設(shè)計原則

在較小的工作流中分解流程對于良好的項目設(shè)計至關(guān)重要。 專用工作流允許對組件進(jìn)行獨立測試尚镰,同時通過開發(fā)單獨的文件來鼓勵團(tuán)隊協(xié)作阀圾。
明智地選擇布局類型(流程圖和序列)。通常狗唉,流程的邏輯停留在流程圖中初烘,而導(dǎo)航和數(shù)據(jù)處理則以順序進(jìn)行。
通過在序列中開發(fā)復(fù)雜的邏輯分俯,您最終將得到一個由容器和決策塊組成的迷宮肾筐,非常難以跟蹤和更新。
相反澳迫,流程圖中的UI交互使構(gòu)建和維護(hù)變得更加困難局齿。

項目相關(guān)的文件(例如郵件模板)可以被組織在本地文件夾或者共享磁盤中

注意
如果放置在項目文件夾中,則在部署過程中(以及項目工作流)在 lib/net 45 文件夾中的所有機(jī)器人機(jī)器上復(fù)制它們橄登。

這些文件夾也可以存儲在共享驅(qū)動器上抓歼,所以所有的機(jī)器人都連接到同一個唯一的源。這樣拢锹,業(yè)務(wù)用戶可以完全檢查和維護(hù)與流程相關(guān)的文件谣妻,而不需要 RPA 團(tuán)隊的支持。但是卒稳,決策(共享或本地文件夾)很復(fù)雜蹋半,應(yīng)該考慮到與進(jìn)程和環(huán)境有關(guān)的各個方面:文件的大小、更改的頻率充坑、編輯同一文件的并發(fā)性减江、安全策略等。

源代碼控制

為了方便地管理項目版本控制和共享更多開發(fā)人員的工作捻爷,我們建議使用版本控制系統(tǒng)辈灼。UiPath Studio 是直接與 TFS 和 SVN 集成的。您可以在 這里 找到一個說明連接步驟和功能的教程也榄。

源代碼控制相關(guān)設(shè)置

為了避免在工作流中硬編碼外部設(shè)置(如文件路徑巡莹、URL等),我們建議將它們保存在.config文件(.xlsx、.xml或.json)中降宅,或者作為 Orchestrator 的資源(如果它們經(jīng)常更改)骂远。

一般來說,最終的解決方案應(yīng)該是可擴(kuò)展的腰根,以便在不需要開發(fā)人員干預(yù)的情況下允許輸入數(shù)據(jù)的變化激才。
例如,允許客戶進(jìn)行某種類型的交易的列表唠雕、接收通知的人的電子郵件等應(yīng)該存儲在外部文件中(如excel)贸营,在這些文件中,業(yè)務(wù)人員或其他部門可以直接修改它們(添加/刪除/更新)岩睁。

對于任何重復(fù)的過程钞脂,主循環(huán)中的所有工作流調(diào)用都應(yīng)該使用隔離選項來標(biāo)記,以防止?jié)撛诘臋C(jī)器人崩潰(例如內(nèi)存不足)捕儒。

憑證

不應(yīng)直接將憑據(jù)存儲在工作流中冰啃,而應(yīng)從更安全的地方(如本地 windows憑據(jù)存儲區(qū) 或 Orchestrator 資源)加載憑據(jù)。您可以通過 GetCredential 活動 在工作流中使用它們刘莹。

錯誤處理

在運(yùn)行自動化過程時可能會發(fā)生兩種類型的異常:某種程度上可預(yù)測的或完全出乎意料的阎毅。基于這種區(qū)別点弯,有兩種處理異常的方法扇调,要么通過在工作流中自動執(zhí)行的顯式操作,要么通過將問題升級到人工操作員抢肛。

異常傳播可以通過在TRY/CATCH塊中放置易受攻擊的代碼來控制狼钮,在這些塊中,情況可以適當(dāng)?shù)靥幚砑裥酢T谧罡呒墑e熬芜,主流程圖必須定義廣泛的糾正措施,以解決所有一般異常并確保系統(tǒng)完整性福稳。

上下文處理程序為機(jī)器人適應(yīng)各種情況提供了更大的靈活性涎拉,它們應(yīng)該用于實現(xiàn)可供選擇的技術(shù)、清除或定制用戶/日志消息的圆。利用異常的垂直傳播機(jī)制鼓拧,通過將處理程序向上移動一些級別,從而避免捕獲部分中的重復(fù)處理程序越妈,其中處理程序可能涵蓋單個位置的所有異常毁枯。

應(yīng)該在異常消息中提供足夠的詳細(xì)信息,讓人理解它并采取必要的操作叮称。異常消息和源是必不可少的。異常對象的源屬性指示失敗活動的名稱(在調(diào)用的工作流中)。同樣瓤檐,命名是至關(guān)重要的赂韵,因為錯誤的命名沒有給出崩潰組件的明確指示。

正如你如下看到的那樣挠蛉,選擇不對調(diào)用的活動改名祭示,使奔潰時輸出的異常源提示信息毫無意義。例如 (Invoke Workflow File > Invoke Workflow File > Invoke Workflow File > Type Into 這樣的信息并不能準(zhǔn)確地告訴你發(fā)生了什么情況).

沒有提示信息的流程圖

代碼重用

在開發(fā)時谴古,我們通常需要在多個工作流/項目中自動化相同的步驟质涛,因此創(chuàng)建包含小部分正在發(fā)生的自動化的工作流并將它們添加到庫中應(yīng)該是一種常見的做法。

沒有通用的方法告訴你如何分割任何給定的過程掰担。

然而汇陆,業(yè)務(wù)邏輯與自動化組件的分離是一個很好的原則,它有助于構(gòu)建一個可以有效重用的代碼带饱。

例子

假設(shè)流程的部分需要讀取客戶的信息毡代,然后基于該信息和內(nèi)部業(yè)務(wù)規(guī)則來更新客戶的詳細(xì)信息

獲取客戶信息修改客戶信息 應(yīng)該是兩個不同的自動化組件,完全不知道任何過程勺疼。邏輯(僅在過去12個月的總量大于100 k時才更新客戶類型)應(yīng)與自動化分離教寂。

這兩個組件可以在以后使用,分別在同一個項目中使用执庐,或者在不同的項目中使用酪耕,具有不同的邏輯。如果需要轨淌,可以通過參數(shù)將特定的數(shù)據(jù)發(fā)送給這些組件迂烁。

不應(yīng)從 獲取客戶信息 中調(diào)用 修改客戶信息 ,因為這使得測試猿诸、處理異常和重用變得更加困難婚被。

代碼重用例子

推薦:
分別使用 修改信息獲取信息 組件。

當(dāng)操作之間的分離不那么明顯時梳虽,將現(xiàn)有代碼從一個工作流復(fù)制到另一個工作流(或從一個項目到另一個項目)也能一個很好地表明您應(yīng)該為代碼構(gòu)建一個單獨的組件(工作流)址芯,并在需要時調(diào)用它。

可重用組件存儲在哪里

將現(xiàn)有代碼從庫拖放到工作流中比從頭開始重新創(chuàng)建代碼更容易窜觉。處理數(shù)據(jù)(排序谷炸、過濾)或文本(拆分、regex模式)是可以添加到 示例庫 中的示例禀挫。

請注意旬陡,一旦代碼被添加到工作流中,它就會變成靜態(tài)的语婴,所以如果您在庫中更新工作流描孟,它將不會反映在現(xiàn)有的活動流程中驶睦。

普通(可重用)組件(如應(yīng)用導(dǎo)航、登錄匿醒、初始化)更好地分別存儲和維護(hù)场航,在 網(wǎng)絡(luò)共享驅(qū)動器 上。從該驅(qū)動器廉羔,它們可以被不同的機(jī)器人溉痢,從不同的進(jìn)程。這種方法最大的優(yōu)點是憋他,任何在主組件中所做的更改都會立即反映在使用它的所有進(jìn)程中孩饼。

怎樣檢驗自動化程序的質(zhì)量

  • 模塊化:

    • 將關(guān)注點與專用工作流分離,允許細(xì)粒度開發(fā)和測試竹挡;在項目之間提取和共享可重用組件或工作流镀娶。
  • 可維護(hù)性:

    • 良好的結(jié)構(gòu)和發(fā)展標(biāo)準(zhǔn)。
  • 可讀性:

    • 標(biāo)準(zhǔn)化的程序結(jié)構(gòu)此迅,鼓勵明確的發(fā)展做法汽畴;
    • 工作流文件、活動耸序、參數(shù)和變量的有意義名稱忍些。
  • 靈活性:

    • 將環(huán)境設(shè)置存放在外部配置文件中或者 Orchestrator 示例,使在測試和生產(chǎn)環(huán)境中運(yùn)行自動化變得容易坎怪。
  • 可靠性:

    • 異常處理和錯誤報告罢坝;
    • 實時執(zhí)行進(jìn)度更新。
  • 可擴(kuò)展:

    • 為新用例的合并做好準(zhǔn)備搅窿。

官網(wǎng)原文鏈接

返回目錄
UiPath 常見問題及解決辦法匯總

更多 UiPath 相關(guān)的資訊嘁酿,請關(guān)注公眾號:流程自動化機(jī)器人教程
由于簡書禁止直接在文章中插入公眾號二維碼,請點擊 這里 了解添加該公眾號的細(xì)節(jié)男应。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闹司,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子沐飘,更是在濱河造成了極大的恐慌游桩,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耐朴,死亡現(xiàn)場離奇詭異借卧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)筛峭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門铐刘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人影晓,你說我怎么就攤上這事镰吵¢莺蹋” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵捡遍,是天一觀的道長锌订。 經(jīng)常有香客問我,道長画株,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任啦辐,我火速辦了婚禮谓传,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芹关。我一直安慰自己续挟,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布侥衬。 她就那樣靜靜地躺著诗祸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪轴总。 梳的紋絲不亂的頭發(fā)上直颅,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機(jī)與錄音怀樟,去河邊找鬼功偿。 笑死,一個胖子當(dāng)著我的面吹牛往堡,可吹牛的內(nèi)容都是我干的械荷。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼虑灰,長吁一口氣:“原來是場噩夢啊……” “哼吨瞎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起穆咐,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤颤诀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后庸娱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體着绊,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年熟尉,在試婚紗的時候發(fā)現(xiàn)自己被綠了归露。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡斤儿,死狀恐怖剧包,靈堂內(nèi)的尸體忽然破棺而出恐锦,到底是詐尸還是另有隱情,我是刑警寧澤疆液,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布一铅,位于F島的核電站,受9級特大地震影響堕油,放射性物質(zhì)發(fā)生泄漏潘飘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一掉缺、第九天 我趴在偏房一處隱蔽的房頂上張望卜录。 院中可真熱鬧,春花似錦眶明、人聲如沸艰毒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丑瞧。三九已至,卻和暖如春蜀肘,著一層夾襖步出監(jiān)牢的瞬間绊汹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工幌缝, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留灸促,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓涵卵,卻偏偏與公主長得像浴栽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子轿偎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 整幅畫感覺都是靜靜的 適合現(xiàn)在的我的心境 自行車不是太好畫呢 兩個車輪畫了很久 整體兩個小時
    大畫玲瓏閱讀 198評論 0 4
  • 如何才能讓自己充滿魅力呢坏晦? 是聲音萝玷! 希臘哲學(xué)家蘇格拉底說:“請開口說話,我才能看清你昆婿∏虻铮” 由此可見,語言的魅力仓蛆!...
    c3f8b8fcf778閱讀 444評論 1 4
  • 天氣 大雨轉(zhuǎn)小雨 早上九點就開始下雨睁冬。 深圳他大爺?shù)脑趺从窒掠辏?我又不能曬被子了。 今天幾乎沒有出門看疙,在電腦上處...
    西風(fēng)東來閱讀 161評論 0 1
  • 1豆拨、感恩父母給予我生命直奋。 2、感恩祖輩將我養(yǎng)育施禾。 3脚线、感恩母親、祖母為家的巨大付出弥搞。 4邮绿、感恩親友們對我一直的照顧...
    朱曉軍閱讀 211評論 0 1