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