上一节咱们就着几个大众理解,简单的讨论了下一个RPA产品可能应该具备的能力 那本节就对实质性的细节进行比较详细的刨析
对于一个完整的RPA产品技术关键点如下:
第一部分:流程设计及控制能力
--- 该部分主要满足流程设计中所需要具备的必要条件
流程设计能力 --- 主要目标就是系统通过快速的拖拉拽的方式比较快捷的构建出业务流程
流程静态控制能力 --- 通过基本的逻辑单元来构建完整的业务逻辑流程
1 数据循环遍历能力 --- 针对复合结构化数据可以逐条或逐个循环进行读取及处理能力
2 流程循环/中断/继续能力 --- 控制流程循环执行,循环中中断,循环中断后循环能力
3 IF Else逻辑控制能力 --- 基本条件判断分支控制能力
4 DoWhile/WhileDo循环控制能力
5 Switch多分支控制能力
6 变量复制传递能力
7 延迟执行能力
流程动态控制能力 --- 当把流程静态设计完成后,必然需要动态的跟踪及调试,以及必须要的由简单到复杂的整合能力
1 流程断点调试能力 --- 控制运行中流程在任意位置或环节暂停,便于设计开发人员可以逐步调试跟踪
2 流程变量观察能力 --- 当流程在任意位置或环节暂停时,可以观察设定变量的当前取值,便于设计开发人员调试流程逻辑
3 流程载体嵌套能力 --- 流程设计时可以嵌套已经完成的流程,并且可以将参数向下传递,以及接收返回结果
第二部分:应用识别及验证能力
--- 该部分为RPA设计器的非侵入性开发核心
- 对于已知运行环境的支持能力
- 1 基于Window Framework运行的窗体程序 可以任意进行特征对应要素的定位/要素属性获取/要素相应操作
- 2 基于JVM运行的Java程序 -- 其中可能是桌面Java程序也可能是浏览器内嵌套Applet 可以任意进行特征对应要素的定位/要素属性获取/要素相应操作
- 3 基于IE环境运行的Web站点 -- IE浏览器依然在传统金融机构内大量使用,所以依然是我们的目标对象 可以任意进行特征对应要素的定位/要素属性获取/要素相应操作
- 4 基于现代浏览器环境运行的Web站点 -- 这类浏览器包括Chrome/Edge/Firefox等占有率较高的平台 可以任意进行特征对应要素的定位/要素属性获取/要素相应操作
- 5 基于SAP特定环境 -- SAP环境比较特殊,它自成体系 可以任意进行特征对应要素的定位/要素属性获取/要素相应操作
- 对于未知运行环境的支持能力
- 1 基于特征位图进行定位
- 2 基于特征位图进行鼠标操作
- 3 基于特征位图进行内容识别
第三部分:应用整合能力
--- 该部分为RPA产品能力外延的最基本体现,可以产生无限遐想
- 整合Office资源能力
- 1 其中必然包含对Excel,WPS,Outlook,Word,PPT等办公基本资源的整合能力
- 2 其中也必须能够具备和Office中内置宏进行交互能力
- PDF整合能力 -- 基本应该涵盖PDF的常规操作,包括读取,创建,分页,合并等
- SMTP邮件整合能力 -- 在部分企业内依然有使用SMTP作为自身邮件服务的
- 文件常用处理能力 -- 满足业务办公时可能出现的各种文件处理场景
- 1 txt,csv,xml,html,等常用格式文件的解析能力
- 2 文件/文件夹/压缩/解压缩等应用整合能力
- 第三方公共服务接口调用整合能力 -- 这里主要是考虑可以整合公共网络服务,来弥补自身平台建设中所存在的能力短板问题
- 获取【流程管理】中【全局参照资料】的能力 -- 该部分必须和【流程管理】中【全局参照资料】配合使用,主要业务目标为,在流程设计开发时避免铭感数据在开发端暴漏的问题,这个问题在后面也会专门提及
第四部分:动态代码整合能力
--- 该部分为对第三部分的高级补充,对于有代码编写能力的开发者尤其重要
- 支持引入第三方类库能力并可以调用 该设计的目标为解决可能出现的动态补充及扩展产品实施能力的需求,希望通过它,以引入第三方类库或是自定义开发新类库的方式,动态的补充产品的新技能,来提升产品自身的使用范围
- 支持常用脚本语言调用及反馈能力 该部分通常比第一部分在产品能力的提升上相对小一些
- 支持在业务流程设计中嵌入独立代码块 该部分与前两部分设计完全不同,它主要目标为支持有代码编写能力的开发人员,针对本次设计流程,来定制代码块,该代码块的运行环境所包含的依赖与产品整体依赖完全一致,可以任意扩展
- 支持类型丰富的参数类型 无论何种设计环境,都需要尽量提供丰富的数据类型的支持,以便于支持更加复杂业务场景
第五部分:流程管理能力
--- 该部分可以完全脱离流程开发,它主要满足流程集中管理,以及运行状态的监视,运行结果的回溯能力
- 管理终端运行机器能力 该部分的目标是集中管理终端运行机器,监视目前机器在线/离线状态,忙碌/空闲状态等,以及可能统计出机器利用率的指标,便于管理者更高效配置终端机器的运行任务
- 统合管理业务流程能力 该部分的目标为统一管理开发完成的流程,并处理好版本更新的管理,流程发放的管理,流程资源的配置等,以及可能流程利用率的统计
- 制定终端运行计划能力 该部分的目标即为已经成功开发完成的流程设定周期性的运行计划,依次来满足依靠时间节点来触发的任务运行,充分体现RPA 24*7 工作的可能性
- 能回溯机器人运行任务能力 该部分主要是通过中央控制中心来观察已经完成运行的RPA任务的运行结果,可以粗略的了解运行成功与否,可以详细的了解运行日志,甚至可以了解更丰富的视频运行过程,以及异常时视频状态
- 能管理全局参照资料能力 该部分主要是用于集中管理流程开发中可能涉及到的业务铭感数据或是便于参照资料统一下发,并结合【应用整合能力】中> 能获取【全局参照资料】能力配合使用
脉络总结
最后给大家提供一个思维导图,便于理解整个技术脉络, 思维导图中没有每个点的详细说明,如果了解详细说明还请参照上面部分 如果里面还有缺失的,也欢迎大家批评指正
随意交流
后续的章节我会逐个和大家交流下一些关键技术点的设计和应用经验,当然如果还有人希望了解章节之外的内容也可以给我留言,我尽量在不涉及侵权范围内分享设计经验(前提是我有能力回答相关问题哈)
后续暂时构思如下章节,如果有感兴趣的朋友想了解其他内容,并且恰好我们产品设计时涉及到,我也可以调整章节顺序和内容,优先发放 3:构建Windows窗体程序识别能力 4:构建现代浏览器应用识别能力 5:构建Java类应用识别能力 6:构建基于SAP客户端识别能力 7:构建基于图片匹配的识别能力 8:选取合适的流程控制开源组件