1. 程式人生 > >學海無涯——機器人流程自動化初接觸(RPA,Robotic process automation)

學海無涯——機器人流程自動化初接觸(RPA,Robotic process automation)

公司舉辦了一個關於RPA的講座,或許是用英語講的原因,聽得稀裡糊塗的。

還是自己補補課吧。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

RPA是Robotic Process Automation的縮寫,從字面便不難看出其要義,即:機器、流程、自動化,RPA是以機器人作為虛擬勞動力,依據預先設定的程式與現有使用者系統進行互動並完成預期的任務。從目前的技術實踐來看,現有的RPA還僅適用於高重複性、邏輯確定並且穩定性要求相對較低的流程。
用更通俗的解釋,RPA就是藉助一些能夠自動執行的指令碼(這些指令碼可能是某些工具生成的,這些工具也可能有著非常有好的使用者化圖形介面)完成一系列原來需要人工完成的工作,但凡具備一定指令碼生成、編輯、執行能力的工具在此處都可以稱之為機器人。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Robotic process automation (or RPA or RPAAI) is an emerging form of business process automation technology based on the notion of software robots

or artificial intelligence (AI) workers.

In traditional workflow automation tools, a software developer produces a list of actions to automate a task and interface to the back-end system using internal application programming interfaces (APIs) or dedicated scripting language. In contrast, RPA systems develop the action list by watching the user perform that task in the application's

graphical user interface (GUI), and then perform the automation by repeating those tasks directly in the GUI. This can lower the barrier to use of automation in products that might not otherwise feature APIs for this purpose.

RPA tools have strong technical similarities to graphical user interface testing tools. These tools also automate interactions with the GUI, and often do so by repeating a set of demonstration actions performed by a user. RPA tools differ from such systems including features that allow data to be handled in and between multiple applications, for instance, receiving email containing an invoice, extracting the data, and then typing that into a bookkeeping system. The data manipulation aspect is not something one would normally find in a testing tool.

 

Historic evolution

As a form of automation, the same concept has been around for a long time in the form of screen scraping but RPA is considered to be a significant technological evolution of this technique in the sense that new software platforms are emerging which are sufficiently mature, resilient, scalable and reliable to make this approach viable for use in large enterprises(who would otherwise be reluctant due to perceived risks to quality and reputation).

By way of illustration of how far the technology has developed since its early form in screen scraping, it is useful to consider the example cited in one academic study. Users of one platform at Xchanging - a UK-based global company which provides business processing, technology and procurement services across the globe - anthropomorphized their robot into a co-worker named "Poppy" and even invited "her" to the Christmas party.Such an illustration perhaps serves to demonstrate the level of intuition, engagement and ease of use of modern RPA technology platforms, that leads their users (or "trainers") to relate to them as beings rather than abstract software services. The "code free" nature of RPA (described below) is just one of a number of significant differentiating features of RPA vs. screen scraping.

Deployment

The hosting of RPA services also aligns with the metaphor of a software robot, with each robotic instance having its own virtual workstation, much like a human worker. The robot uses keyboard and mouse controls to take actions and execute automations. Normally all of these actions take place in a virtual environment and not on screen; the robot does not need a physical screen to operate, rather it interprets the screen display electronically. The scalability of modern solutions based on architectures such as these owes much to the advent of virtualization technology, without which the scalability of large deployments would be limited by available capacity to manage physical hardware and by the associated costs. The implementation of RPA in business enterprises has shown dramatic cost savings when compared to traditional non-RPA solutions.

There are however several risks with RPA. Criticism include risks of stifling innovation and creating a more complex maintenance environment of existing software that now needs to consider the use of graphical user interfaces in a way they weren't intended to be used.