随着RPA技术的日趋成熟,不少公司实现了基于RPA技术的软件系统的落地。比如:国际知名咨询公司德勤正在利用RPA来辅助财务工作;复星财务共享服务中心也已经应用机器人到查验发票、银行回单、外汇汇率、纳税申报等场景;普华永道在全国率先为广东省人民医院RPA,在耗材监控及供应商管理应用场景上等成功实施了RPA技术;State Auto 金融公司首席信息官GregTacchetti表示,该公司正在利用RPA来缩短保险公司员工人工处理索赔和其他任务的时间。
我们相信在这竞争激烈的商业环境中,无论是商业公司还是技术公司的处境都如"逆水行舟,不进则退" 。为了更好地帮助我们的客户进一步提高竞争力,我们针对一些具体的RPA应用场景研发相应的工具及解决方案。本文仅对RPA技术及应用做些简单介绍。主要目的是扫盲。具体解决方案需根据客户的具体问题case-by-case而定。
什么是RPA
RPA(Robotic Process Automation)指的是以机器人为虚拟劳动力,可通过界面预先设定程序并由程序执行完成预定操作的过程自动化。
RPA应用场景
还是那句老话。离开了所要解决的问题及适用场景谈技术产品与方案都是在"耍流氓"。RPA主要是为了解决由于非自动化操做带来的效率低下的问题。其适用于那些逻辑清晰、稳定性要求较低、重复性高且可通过编程进行控制执行的工作。与以前做过的流程自动化的产品与解决方案相比较,我的感觉是:RPA是传统的自动化软件(如:各种企业及商用流程自动化软件、桌面自动化等)向智能化软件升级的中间过渡产品。
RPA技术架构
RPA产品架构可分为内部产品架构和外部接口两部分。
1) 关于内部架构
RPA的内部产品架构总体来说包括RPA客户端(或机器人端)、RPA服务器端(或RPA控制中心)、以及RPA集成开发环境(缩写为IDE)三部分。其中RPA客户端也可分为交互式和非交互式两类。以达观数据定义的产品架构为例。如下图:
a) 关于RPA控制中心
RPA控制中心大都位于服务器端。其作用就是负责管理客户端的“机器人”。相对应master-slave架构中的master角色。其职责主要有:RPA功能版本管理、RPA客户端运行监控、任务分配、运行结果展现及日志分析等。
b) RPA客户端
具体执行任务的"机器人"位于客户端。就如master-slave架构中的slave的角色。又分为用户交互式RPA和非交互式RPA两类。
非交互式RPA就是完全不需要人参与的机器人(也称为后台机器人)。如由时间调度器根据预先制订的规则自动触发执行的自动化脚本程序。
交互式RPA的“交互”,从业务角度理解应该为“人机交互”。其触发执行需要人工介入。这主要是为了应对那些逻辑不是很确定的应用场景。
c) RPA开发平台
这是RPA的集成开发环境(IDE)。RPA产品使用可在集成环境设计和发布相关规则并发布到控制中心。类似于流程管理软件的流程设计工具。
2) 关于RPA外部接口
RPA也有很多不能处理的业务场景,那么就需要通过外部接口扩展其功能。设计外部接口目的是为了让RPA专注于其擅长的领域。需要设计考虑的接口包括:PowerShell、Webservice、数据库、DLL插件、VBScript。引入各种人工智能插件是RPA与传统流程自动化产品的明显区别。
关于参与的人员
在人员方面公司实现与运行RPA产品需设置以下角色:
1)业务用户:制定业务逻辑及规则、处理RPA无法处理的数据及特例;
2) 系统管理员:维护和监控RPA的运行情况;
3)工程师:开发、设计、实施落地及升级RPA产品。
关于RPA与AI和流程自动化的关系
在近期RPA中国主办的2019中国RPA应用与发展论坛上有嘉宾提出RPA的价值在于"AI Inside"(zack)。我认为未来RPA的关注点必将是人工智能技术在流程自动化领域的具体落地。其将表现在相关软件厂家及供应商在软件产品上的智能化升级。
关于RPA软件及厂商
国外在RPA软件研发上起步和投入较早产品也较多。以下为Forrester于2017Q1及2018年Q2出具的产品分布报告:
近一两年国内受AI技术爆发与成果的影响(如:NLP技术、语言识别、图像识别、OCR技术等)各方都在积极寻找AI技术的落地点。一些大厂及软件供应商也开始在RPA产品上进行布局。如:阿里云RPA(码栈)、艺赛旗RPA、达观数据的RPA工具等。
(未完。持续更新中)