SAP智慧機器人流程自動化解決方案

i042416發表於2020-01-30

本文是2020年第14篇原創文章,也是汪子熙公眾號總共第197篇原創文章。

今天這篇文章的主題是機器人(Robot).

Jerry看過的第一部機器人主題的電影,就是大神詹姆斯-卡梅隆的神作《終結者II》,裡面的T1000一度成為我的童年陰影。

SAP智慧機器人流程自動化解決方案

幾個月前我才欣賞完最新上映的終結者:黑暗命運(Dark Fate),又一部收割終結者粉絲情懷的續作。

當看到白髮蒼蒼的琳達·漢密爾頓飾演的莎拉·康納穿越了28年漫長的歲月,以終結者迷最熟悉的風格重新出現在熒屏上時,我竟有些情不能自已。

下圖是Linda Hamilton在1991年《終結者II》裡的劇照:

SAP智慧機器人流程自動化解決方案

下面是她2019年最新的《終結者:黑暗命運》裡的造型,雖然已經年過花甲,依然霸氣十足。

SAP智慧機器人流程自動化解決方案

當我看見螢幕上州長扮演的T800在這一部裡說出了“I won't be back”的時候,我才真正意識到,州長老了,這應該是他飾演終結者的最後一部作品。國內絕大多數八零後,應該都是從《終結者II》開始接觸這個系列的。八零後們觀看著阿諾德·施瓦辛格出演的一部又一部終結者,也從懵懵懂懂的小學生,到一晃就步入到今天的四十不惑。

SAP智慧機器人流程自動化解決方案

伴隨著I won't be back這句話,不會再回來的,除了州長以外,還有八零後的青春。

SAP智慧機器人流程自動化解決方案

曾經和一位同樣是科幻迷的好友吹牛,他問我,假設世界末日不可避免地來臨,你有三個選擇,去往異形,生化危機和天網終結者的末世,你選擇哪一個?

Jerry不加思索地回答:當然是最後一個。身為一個程式設計師,被人工智慧程式殺死,也算死得其所。

SAP智慧機器人流程自動化解決方案

終結者系列構造的世界觀裡,人類和以天網為核心的人工智慧程式無法共存,雙方不是你死就是我活。而在現實世界裡,基於人工智慧的機器人流程自動化則是智慧企業的好助手。

所謂智慧企業,一個特徵就是具備將複雜但低附加值的重複流程透過自動化的方式完成的能力。透過自動化,從而將寶貴的人力資源投入到更高附加值的工作中去,比如提供產品和服務的品質,提升使用者體驗。

對於ABAP老司機們來說,SAP指令碼錄屏和SAP eCATT(extended Computer Aided Test Tool) 都是進行功能自動化測試的利器,可惜其只能工作在SAP GUI環境下面。

隨著全球企業數字化轉型的趨勢繼續加深,湧現了一大批智慧機器人流程自動化(Intelligent Robotic Process Automation,簡稱為iRPA)解決方案的供應商,比如這個領域的領頭羊UIpath,Blueprism,AutomotionAnywhere,以及國內的供應商藝賽旗、UiBot、弘璣Cyclone 、雲擴科技等。

就在去年,SAP也釋出了自己的iRPA解決方案:

SAP智慧機器人流程自動化解決方案

該解決方案基於SAP雲平臺CloudFoundry環境,支援雲端部署,透過編寫,排程,管理和監控機器人工作流,來完成原本需要透過人工進行的重複性操作。SAP iRPA的智慧化,體現在其與SAP Leonardo Conversation AI服務的無縫整合。除了iRPA解決方案本身之外,SAP也釋出了預定義好的基於SAP多款產品,比如S/4HANA的智慧機器人流程指令碼,幫助客戶加速實現企業流程自動化。

SAP智慧機器人流程自動化解決方案

與很多RPA解決方案採用基於錄屏的實現原理不同,SAP iRPA基於API和後設資料實現機器人自動操作,從根源上避免了產品介面更改之後造成原有流程指令碼不工作的可能性。

SAP智慧機器人流程自動化解決方案

下面就跟著Jerry一起,從一個Hello World專案開始瞭解SAP iRPA.

我這個例子的場景很簡單,用SAP iRPA驅動本地電腦裡的計算器應用,自動點選4 + 2 = 這幾個按鈕。至於SAP iRPA如何驅動S/4HANA跑一些自動化流程,留待將來研究。

先看這個例子的demo,該影片演示瞭如何單步除錯用SAP iRPA開發出的機器人自動化指令碼。

到SAP官網下載這個場景需要的兩個工具:

SAP Intelligent Robotic Process Automation Desktop Studio和SAP Intelligent Robotic Process Automation Desktop Agent.

launchpad.support.sap.com

SAP智慧機器人流程自動化解決方案

顧名思義,Studio就是機器人開發工具,而Agent就是機器人程式的執行環境。

首先開啟Studio,新建一個應用。這個應用就是我期望被SAP iRPA驅動的計算器應用,我稱之為宿主應用。

SAP智慧機器人流程自動化解決方案

點選Add Application後,從下拉選單裡選擇UIAutomation,這個列表代表SAP iRPA透過何種底層技術,去識別,連線並驅動宿主應用。

SAP智慧機器人流程自動化解決方案

本地開啟Windows自帶的計算器應用calc.exe, 在SAP iRPA裡重新整理,就能看到這個應用對應的程式了。

SAP智慧機器人流程自動化解決方案

在程式列表裡選中Calculator,右邊的預覽視窗立即能看到其介面。點選Save and Capture Page,這樣SAP iPRA就同計算器應用建立起連線了。

SAP智慧機器人流程自動化解決方案

始終記住我們的目標是用SAP iRPA實現計算器應用上的按鈕點選,所以首先得定位到計算器上的4, + , 2和=這幾個按鈕。

到目前為止,SAP iRPA裡的計算器是一個空的頁面,點選Capture a New Page:

SAP智慧機器人流程自動化解決方案

按住Ctrl鍵不放,把滑鼠放到計算器應用上,SAP iRPA會智慧的識別出這個計算器應用視窗的控制程式碼:pWindowCalculator, 此時點選Scan And Capture:

SAP智慧機器人流程自動化解決方案

注意看,此時左邊的Calculator節點下面,出現了剛剛捕捉的視窗控制程式碼pWindowCalculator, 且螢幕中間區域出現了計算器應用的介面。

我們雙擊4這個按鈕:

SAP智慧機器人流程自動化解決方案

現在4這個按鈕也出現在螢幕左邊的樹狀結構裡了,這代表4這個按鈕也被我們標註為需要被SAP iRPA操作的UI元素了。

SAP智慧機器人流程自動化解決方案

對剩下的+,2,=這幾個按鈕重複上述的操作,完成之後介面如下。

SAP智慧機器人流程自動化解決方案

下面我們需要基於這幾個捕捉好的按鈕動手編寫一些邏輯了。

切換到工作流檢視,建立一個新的工作流Workflow:

SAP智慧機器人流程自動化解決方案

工作流建立好之後,只有一個預設的開始節點:

SAP智慧機器人流程自動化解決方案

在工作流編輯頁面的右邊,有一個Activities皮膚,我們之前捕捉好的整個計算器應用就維護在內。把這個計算器應用的UI拖拽到工作流編輯頁面裡:

SAP智慧機器人流程自動化解決方案

此時雙擊這個計算器應用的UI,就可以對其內UI元素進行編輯了。

SAP智慧機器人流程自動化解決方案

在Activities皮膚裡,找到Click這個動作,將其依次拖拽到螢幕正中的4,+,2和=這幾個按鈕上。

SAP智慧機器人流程自動化解決方案

拖拽結束後,這幾個按鈕上顯示了對應被點選的序號和Click事件的名稱。

SAP智慧機器人流程自動化解決方案

至此,我們完成了機器人的建模工作。從過程可以看出,即使建模人員不具備程式設計功底,也能順利完成這個任務。

我們還需要點選Build按鈕,生成執行時程式碼。

SAP智慧機器人流程自動化解決方案

Build按鈕點選後,出現一個node.exe的執行介面,暗示我們SAP iRPA底層執行基於nodejs.

SAP智慧機器人流程自動化解決方案

Build完成後,我們能看到自動生成的機器人指令碼程式碼。正如侯捷老師所言,“原始碼面前,了無秘密”,透過閱讀自動生成的JavaScript原始碼,我們可以把SAP iRPA的工作原理同另一個流行的瀏覽器自動化測試框架Selenium做一個類比:二者都是定位到應用介面的某一元素後,呼叫元素對應的方法,而差異在於,Selenium透過web應用頁面標籤的ID來定位元素,而本例中的SAP iRPA透過UIAutomation來定位計算器應用的按鈕。

SAP智慧機器人流程自動化解決方案

從上圖看出,SAP iRPA自動生成的JavaScript指令碼可以單步除錯。點選Debug按鈕,彈出了SAP iRPA偵錯程式。

SAP智慧機器人流程自動化解決方案

如果之前設定了斷點,現在就可以像除錯一般JavaScript程式碼一樣,進行單步除錯了:

SAP智慧機器人流程自動化解決方案

當然,SAP iRPA能做的事情遠遠不止這個Hello World這麼簡單,其最有價值之處,還是在於基於SAP Cloud Platform的雲端部署,以及與SAP標準產品的無縫整合。Jerry後續有機會,會繼續介紹。

SAP智慧機器人流程自動化解決方案

謹以《終結者II》結尾的最後一段臺詞結束這篇文章:

"The unknown future rolls toward us. I face it, for the first time, with a sense of hope. Because if a machine, a terminator, can learn the value of human life, maybe we can too" - Sarah Connor

不可知的未來在我們面前展開,我頭一次充滿希望地面對它。因為如果一臺機器,一個終結者都能夠學到人類生命的價值,也許我們也能辦得到 - 莎拉·康納

SAP智慧機器人流程自動化解決方案


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2674319/,如需轉載,請註明出處,否則將追究法律責任。

相關文章