放在讨论前
这里谈论RPA类产品技术前,还是要说到一些背景知识,也方便入门的朋友便于理解为什么要解决这些技术问题 首先:对于RPA类产品,它所提供的解决方案并不是范范的针对某个具体业务场景,它所需要解决的问题相对比较广。
常规理解
举个例子来说: 有人说RPA感觉就是网络爬虫---其实这个理解是希望RPA产品能解决基于BS类Web应用的数据爬取 有人说RPA感觉就是Excel的宏---其实这个理解是觉得RPA可以自由的像Excel的宏一样,可以任意操作Office内数据 有人说RPA感觉就是原来的鼠标精灵---其实这个理解是觉得RPA就是可以设定一些规则自由点击电脑屏幕上想要点击的位置 等等等等 其实这些基本想法都是RPA产品应该包含的范畴,但是RPA产品如果只是上面说的期待的例子那就太少太少了。
设计理解
还是就着上面的例子先扩展说下:
例一分析
先简单讨论下第一个例子,如果完整说来,我们所面对的BS类Web应用现在在市场上其实有很多细分 首先先说运行环境浏览器,从B端应用市场上来看使用面最广的还是Chrome类(包括现在Chrome内核的Edge,同样兼容的Firefox)---我这里就统称为【现代浏览器】吧,以及目前依然在传统金融领域持续使用的IE,基于这个应用基本环境的考量,RPA起码应该可以满足在【现代浏览器】及IE上都可以进行数据的有效爬取 另外从业务过程上来说,除了我们从页面上读取信息(也就是所说的爬取信息,以及爬取属性)还有更重要的部分就是---写入,这个【写入】的表述比较有些粗糙,其实准确的表述,应该包括信息写入,下拉选择,Checkbox选择,多项选择,功能点击(脚本点击,模拟点击)浏览器导航,刷新等等一系列在业务使用中的动作 所以这么看来,如果要达成产品级别的BS数据爬取,可能需要解决的问题还是很多的
例二分析
同样,我们再聊下第二个例子,从第二个例子中可以看到的含义,字面上:是能够在业务环境的载体(Excel)中自我定制业务逻辑,而且并不破坏原来的环境(Excel),这里去掉括号内的文字,其实针对这个例子的就是一个相对比较有广泛应用高度的定义了,也就是RPA要有足够的整合能力,当然这个整合可以是自建服务的整合,也可以是整合第三方有效服务的能力,这里绝对不可能局限在例子中的Excel上,可以向外延展到Office整个系列,包括Excel,Word,Outlook,PPT,PDF等等,以及跳出办公Office外的各种数据库等,各种常用文本类型Txt,CSV等,甚至延展到PowerShell,SSH,以及任意的自定义程序脚本的整合等等等等....当然这里到底可以整合哪些,完全取决于你可以想象到的RPA应用场景中可能面对的业务对象是什么....哈哈,听起来就像是取决于你的想象力,是不是突然觉得很有想象空间了
例三分析
那这里要聊的第三个例子和第一个有点像,但是从应用背景来看,的确是和第一个有实质区别的,这个例子中面对的场景,我们把它归类为RPA产品支持CS类应用,一旦上升到产品层面讨论CS应用,就不能只在【鼠标精灵】上讨论这个问题了,我们还是要仔细从CS应用类别详细分类来思考了 还是首先说说运行环境:在国内我们目前面对的绝大多数桌面系统还是已Windows系列为主了(当然有部分有Mac或是其他Linux内核桌面系统,这是另一个大分类,目前先部讨论),在目前主流的桌面系统中,具体到需要解决的RPA场景,分类依据主要还是以GUI的大类别来区分,其实这里在市面上类别还是挺多的,有基于C++多种框架开发,有基于C#开发的,还有基于Java,基于Go或Python等,所以回到最开始来满足【鼠标精灵】的想法来做RPA产品,那上面这些GUI场景就成了必须要解决的技术问题 同样也脱不开业务过程的思考,毕竟 包含规则的【鼠标精灵】要想涵盖绝大多数业务过程是做不到的,所以接下来的 Gui上信息读取,属性读取,信息写入,各类选择,以及表格对象识别等等,都是要构建一个完整RPA产品必须要面对并且要解决的问题
常规理解之外的设计
当然上面聊了这些,也不能代表这些就是一个完整RPA产品的全貌,因为上面三个大众基本认识都是在聊RPA中A(Automation)的部分,其实一个完整的RPA产品除了咱们讲到的三个基本理解外还有一个核心的问题也需要拿出来解决,就是RPA中的P部分(Process),也就是除了上面提到的场景识别外,还需要有个完整的流程控制部分,专门用于快速定义业务流程,来满足复杂的业务过程控制
其实这里基本上已经比较完整了,但是我估计肯定有人要说还有一个重要的部分,就是管理控制部分 的确没错,通常意义上的控制台还是有实际用途的,不过相较而言,这个部分在技术上的难度和RPA本身没有太大的相关性,所以不在提及,如果后续有感兴趣的朋友,我也可以把我们产品的控制中心的设计思路分享下
本篇总结
本篇从几个大众基本理解的角度,粗略的讨论了RPA产品应该如何去定义 目前看来缺少很多细节,大家可以移步,下一节【一个基本的RPA类产品应该具备的能力】,这里将会展示一个基本RPA产品应该具备的绝大部分能力,欢迎大家批评指正