RPA一般提供自动化软件在开发、集成、部署、运行和维护过程中所需要的工具,通常包含三个主要的组成部分:编辑器、运行器和控制器,如图1-12所示。
图1-12 RPA的主要组成部分
·编辑器指的是用于机器人脚本设计、开发、调试和部署的配套开发工具。
·运行器指的是真正完成自动化执行操作的机器人。
·控制器指的是面向机器人全生命周期的管理程序,是提供给运行维护人员用于监控、维护和管理机器人运行状态的配套工具。
1 编辑器
为了更好地满足开发者对编辑器的易用性、灵活性以及所见即所得的需求,RPA编辑器工具中通常会提供以下功能。
·可视化的控件拖拽和编辑功能:为了更好地复用软件中已经内置好的自动化模块,可以让开发者利用可视化编辑器来创建RPA流程图,即使用拖拽的方式,无须为机器人编写代码,达到所见即所得的效果。这有利于非专业开发人员快速地学习和使用。创建好的可视化RPA流程图可直接转换成由机器人执行的每个步骤。
·自动化脚本的录制功能:开启RPA录制功能后,只要业务人员正常地操作一遍业务流程,记录器就可以自动生成RPA的运行脚本。接下来,开发者还可以优化和编辑这些脚本,这样自动化工具的开发过程也变得灵活了。
·自动化脚本的分层设计功能:虽然RPA的脚本看起来是按顺序执行的,但为了更好地实现复用、体现设计者的设计思路,RPA也提供了分层设计要求。
·工作流编辑器功能:包括流程图的创建、编辑、检查、模拟和发布等功能,支持工作流图中既包含机器人操作步骤,也包含人工的操作步骤。
·自动化脚本的调试功能:自动提示或修正脚本中的语法错误,采用可视化方式进行分步跟踪和校验。
·机器人的远程配置功能:即支持非本地安装机器人的开发和配置。
·预制库和预构建模板:为了让开发者直接使用自动化模块,提供模块预制库,并且可以使开发者自定义的模块共享给其他开发者来复用。
·预制好的连接器程序:对一些成熟的软件产品自动化处理模块,如SAP或Oracle等,提供预制好的连接器程序。
·支持开放性的公开标准:如ISO和IEEE等。
·接口集成能力:提供如REST/SOAP Web Services/API等接口集成能力,除脚本外,仍支持开发者编写额外的接口程序。
2 运行器
RPA运行器中最核心的三个技术包括鼠标键盘事件的模拟技术、屏幕抓取技术和工作流技术。
(1)鼠标键盘事件的模拟技术
这项技术最早出现在一些游戏的外挂程序中,是利用Windows操作系统提供的一些API访问机制,通过程序模拟出类似人工点击鼠标和操作键盘的一种技术。由于安全控制的问题,一些应用程序会防止其他程序对键盘和鼠标事件的模拟,所以RPA利用更底层的驱动技术实现了鼠标键盘事件的模拟。
(2)屏幕抓取技术
屏幕抓取技术是一种在当前系统和不兼容的遗留系统之间建立桥梁的技术,被用于从展示层(客户端或浏览器)的界面或网络中提取数据,所以在一些网络爬虫软件中被率先使用。虽然屏幕抓取信息的效率肯定会超过人类的手工操作,但也会受到种种限制,如现有系统和应用程序的兼容性问题、网站底层HTML代码的依赖度问题等。所以,RPA软件在这方面需要具备更多样的技术实现能力,以及更强的适应性,如基于界面控件ID和图像的识别技术等。
(3)工作流技术
工作流技术诞生于20世纪90年代,它可以将业务流程中一系列不同组织、不同角色的工作任务相互关联,按照预定义好的流程图协调并组织起来,使得业务信息可以在整个流程的各个节点中相互传递。RPA一般会提供从设计、开发、部署、运行到监控全过程类似工作流的支持能力。
3 控制器
RPA控制器提供的支持能力如下。
(1)监控能力
控制器提供集中式控制中心,可以对多机器人运行状态进行监控,并提供机器人的远程维护和技术支持能力。集中式控制中心提供机器人的任务编排和队列排序能力,并且提供开放式控制中心访问机制,如可通过平板电脑等移动设备来监控机器人的运行状态。
(2)安全管理能力和控制能力
控制器提供对如用户名口令之类敏感信息的安全管理和控制能力,既要保证业务用户对这些信息的即时维护,还要保证信息的安全存储,同时不被参与自动化工作的其他相关方获取到。
(3)运行机器人的能力
控制器提供以静默模式来运行机器人的能力。通常机器人的执行过程对于业务人员是可见的,但有时为了保证数据隐私,需要对业务人员或监控者隐藏这个过程。
(4)自动化分配任务的能力
在多机器人并发的运行状态下,控制器能实现基于优先级控制的动态负载均衡,及时将自动化任务分配到空闲的机器人手中。
(5)自动扩展能力
控制器提供机器人自动扩展能力,当业务量激增,原有的机器人资源并不能满足自动化处理任务时,能够及时增加机器人数量,动态地调整资源。
(6)并行自动化执行能力
为了更好地利用资源,控制器提供虚拟机中多机器人的并行自动化执行能力。
(7)队列管理
控制器提供机器人队列以及运行设备的资源池管理,能够依据流程任务的优先级来调整机器人处理任务的顺序。
(8)失败恢复能力
控制器提供单点机器人的失败恢复能力,由于某个机器人在执行过程中可能会出现异常情况,导致流程中断,这时候需要其他机器人立即接管这个任务,并继续执行原来的业务流程。
(9)支持SLA报告
基于自动化服务水平协议(SLA),控制器提供SLA的监控和报告、机器人运行性能的分析以及ROI的实时计算。
4 其他组成
除了编辑器、运行器和控制器中具有的这些功能外,RPA还额外提供了变更管理、安全合规管理、人工智能集成功能。
·变更管理:包括版本控制、版本对比、版本恢复、从测试到生产环境的检查和控制、环境比对等功能。
·安全合规管理:包括机器人活动日志、角色访问控制、活动目录整合、开发/测试和运行环境的角色隔离、锁屏后的自动化处理、安全认证等。
·人工智能集成:包括与机器学习、自然语言处理、对话机器人、计算机视觉等人工智能技术的集成等。
对于RPA软件中到底应该具备哪些功能,业内尚未形成定论,大而全是一种思路,小而精也是一种思路。目前,国内的RPA产品大多还是在追随国外产品的设计理念,产品的组成和功能也十分类似。但是永远不要低估创新的力量,理念和技术也在不断发展中,可能几年后,RPA功能就会有翻天覆地的变化。