SAP智能机器人流程自动化解决方案
本文是2020年第14篇原創(chuàng)文章,也是汪子熙公眾號總共第197篇原創(chuàng)文章。
今天這篇文章的主題是機器人(Robot).
Jerry看過的第一部機器人主題的電影,就是大神詹姆斯-卡梅隆的神作《終結(jié)者II》,里面的T1000一度成為我的童年陰影。
幾個月前我才欣賞完最新上映的終結(jié)者:黑暗命運(Dark Fate),又一部收割終結(jié)者粉絲情懷的續(xù)作。
當看到白發(fā)蒼蒼的琳達·漢密爾頓飾演的莎拉·康納穿越了28年漫長的歲月,以終結(jié)者迷最熟悉的風格重新出現(xiàn)在熒屏上時,我竟有些情不能自已。
下圖是Linda Hamilton在1991年《終結(jié)者II》里的劇照:
下面是她2019年最新的《終結(jié)者:黑暗命運》里的造型,雖然已經(jīng)年過花甲,依然霸氣十足。
當我看見屏幕上州長扮演的T800在這一部里說出了“I won’t be back”的時候,我才真正意識到,州長老了,這應(yīng)該是他飾演終結(jié)者的最后一部作品。國內(nèi)絕大多數(shù)八零后,應(yīng)該都是從《終結(jié)者II》開始接觸這個系列的。八零后們觀看著阿諾德·施瓦辛格出演的一部又一部終結(jié)者,也從懵懵懂懂的小學生,到一晃就步入到今天的四十不惑。
伴隨著I won’t be back這句話,不會再回來的,除了州長以外,還有八零后的青春。
曾經(jīng)和一位同樣是科幻迷的好友吹牛,他問我,假設(shè)世界末日不可避免地來臨,你有三個選擇,去往異形,生化危機和天網(wǎng)終結(jié)者的末世,你選擇哪一個?
Jerry不加思索地回答:當然是最后一個。身為一個程序員,被人工智能程序殺死,也算死得其所。
終結(jié)者系列構(gòu)造的世界觀里,人類和以天網(wǎng)為核心的人工智能程序無法共存,雙方不是你死就是我活。而在現(xiàn)實世界里,基于人工智能的機器人流程自動化則是智慧企業(yè)的好助手。
所謂智慧企業(yè),一個特征就是具備將復雜但低附加值的重復流程通過自動化的方式完成的能力。通過自動化,從而將寶貴的人力資源投入到更高附加值的工作中去,比如提供產(chǎn)品和服務(wù)的品質(zhì),提升用戶體驗。
對于ABAP老司機們來說,SAP腳本錄屏和SAP eCATT(extended Computer Aided Test Tool) 都是進行功能自動化測試的利器,可惜其只能工作在SAP GUI環(huán)境下面。
隨著全球企業(yè)數(shù)字化轉(zhuǎn)型的趨勢繼續(xù)加深,涌現(xiàn)了一大批智慧機器人流程自動化(Intelligent Robotic Process Automation,簡稱為iRPA)解決方案的供應(yīng)商,比如這個領(lǐng)域的領(lǐng)頭羊UIpath,Blueprism,AutomotionAnywhere,以及國內(nèi)的供應(yīng)商藝賽旗、UiBot、弘璣Cyclone 、云擴科技等。
就在去年,SAP也發(fā)布了自己的iRPA解決方案:
該解決方案基于SAP云平臺CloudFoundry環(huán)境,支持云端部署,通過編寫,調(diào)度,管理和監(jiān)控機器人工作流,來完成原本需要通過人工進行的重復性操作。SAP iRPA的智能化,體現(xiàn)在其與SAP Leonardo Conversation AI服務(wù)的無縫集成。除了iRPA解決方案本身之外,SAP也發(fā)布了預定義好的基于SAP多款產(chǎn)品,比如S/4HANA的智能機器人流程腳本,幫助客戶加速實現(xiàn)企業(yè)流程自動化。
與很多RPA解決方案采用基于錄屏的實現(xiàn)原理不同,SAP iRPA基于API和元數(shù)據(jù)實現(xiàn)機器人自動操作,從根源上避免了產(chǎn)品界面更改之后造成原有流程腳本不工作的可能性。
下面就跟著Jerry一起,從一個Hello World項目開始了解SAP iRPA.
我這個例子的場景很簡單,用SAP iRPA驅(qū)動本地電腦里的計算器應(yīng)用,自動點擊4 + 2 = 這幾個按鈕。至于SAP iRPA如何驅(qū)動S/4HANA跑一些自動化流程,留待將來研究。
先看這個例子的demo,該視頻演示了如何單步調(diào)試用SAP iRPA開發(fā)出的機器人自動化腳本。
到SAP官網(wǎng)下載這個場景需要的兩個工具:
SAP Intelligent Robotic Process Automation Desktop Studio和SAP Intelligent Robotic Process Automation Desktop Agent.
https://launchpad.support.sap.com/#/softwarecenter/search/Intelligent%2520Robotic%2520Process%2520Automation
顧名思義,Studio就是機器人開發(fā)工具,而Agent就是機器人程序的運行環(huán)境。
首先打開Studio,新建一個應(yīng)用。這個應(yīng)用就是我期望被SAP iRPA驅(qū)動的計算器應(yīng)用,我稱之為宿主應(yīng)用。
點擊Add Application后,從下拉列表里選擇UIAutomation,這個列表代表SAP iRPA通過何種底層技術(shù),去識別,連接并驅(qū)動宿主應(yīng)用。
本地打開Windows自帶的計算器應(yīng)用calc.exe, 在SAP iRPA里刷新,就能看到這個應(yīng)用對應(yīng)的進程了。
在進程列表里選中Calculator,右邊的預覽窗口立即能看到其界面。點擊Save and Capture Page,這樣SAP iPRA就同計算器應(yīng)用建立起連接了。
始終記住我們的目標是用SAP iRPA實現(xiàn)計算器應(yīng)用上的按鈕點擊,所以首先得定位到計算器上的4, + , 2和=這幾個按鈕。
到目前為止,SAP iRPA里的計算器是一個空的頁面,點擊Capture a New Page:
按住Ctrl鍵不放,把鼠標放到計算器應(yīng)用上,SAP iRPA會智能的識別出這個計算器應(yīng)用窗口的句柄:pWindowCalculator, 此時點擊Scan And Capture:
注意看,此時左邊的Calculator節(jié)點下面,出現(xiàn)了剛剛捕捉的窗口句柄pWindowCalculator, 且屏幕中間區(qū)域出現(xiàn)了計算器應(yīng)用的界面。
我們雙擊4這個按鈕:
現(xiàn)在4這個按鈕也出現(xiàn)在屏幕左邊的樹狀結(jié)構(gòu)里了,這代表4這個按鈕也被我們標注為需要被SAP iRPA操作的UI元素了。
對剩下的+,2,=這幾個按鈕重復上述的操作,完成之后界面如下。
下面我們需要基于這幾個捕捉好的按鈕動手編寫一些邏輯了。
切換到工作流視圖,創(chuàng)建一個新的工作流Workflow:
工作流創(chuàng)建好之后,只有一個默認的開始節(jié)點:
在工作流編輯頁面的右邊,有一個Activities面板,我們之前捕捉好的整個計算器應(yīng)用就維護在內(nèi)。把這個計算器應(yīng)用的UI拖拽到工作流編輯頁面里:
此時雙擊這個計算器應(yīng)用的UI,就可以對其內(nèi)UI元素進行編輯了。
在Activities面板里,找到Click這個動作,將其依次拖拽到屏幕正中的4,+,2和=這幾個按鈕上。
拖拽結(jié)束后,這幾個按鈕上顯示了對應(yīng)被點擊的序號和Click事件的名稱。
至此,我們完成了機器人的建模工作。從過程可以看出,即使建模人員不具備編程功底,也能順利完成這個任務(wù)。
我們還需要點擊Build按鈕,生成運行時代碼。
Build按鈕點擊后,出現(xiàn)一個node.exe的運行界面,暗示我們SAP iRPA底層運行基于nodejs.
Build完成后,我們能看到自動生成的機器人腳本代碼。正如侯捷老師所言,“源碼面前,了無秘密”,通過閱讀自動生成的JavaScript源代碼,我們可以把SAP iRPA的工作原理同另一個流行的瀏覽器自動化測試框架Selenium做一個類比:二者都是定位到應(yīng)用界面的某一元素后,調(diào)用元素對應(yīng)的方法,而差異在于,Selenium通過web應(yīng)用頁面標簽的ID來定位元素,而本例中的SAP iRPA通過UIAutomation來定位計算器應(yīng)用的按鈕。
從上圖看出,SAP iRPA自動生成的JavaScript腳本可以單步調(diào)試。點擊Debug按鈕,彈出了SAP iRPA調(diào)試器。
如果之前設(shè)置了斷點,現(xiàn)在就可以像調(diào)試一般JavaScript代碼一樣,進行單步調(diào)試了:
當然,SAP iRPA能做的事情遠遠不止這個Hello World這么簡單,其最有價值之處,還是在于基于SAP Cloud Platform的云端部署,以及與SAP標準產(chǎn)品的無縫集成。Jerry后續(xù)有機會,會繼續(xù)介紹。
謹以《終結(jié)者II》結(jié)尾的最后一段臺詞結(jié)束這篇文章:
“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
不可知的未來在我們面前展開,我頭一次充滿希望地面對它。因為如果一臺機器,一個終結(jié)者都能夠?qū)W到人類生命的價值,也許我們也能辦得到 - 莎拉·康納
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的SAP智能机器人流程自动化解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米王化回应13 Ultra可变光圈晃动
- 下一篇: 使用SAP iRPA Studio创建的