[转]Uipath、BluePrism、AA产品对比之设计器篇
本文转自:https://www.jianshu.com/p/53d0d33a1a35
版本说明:
Uipath V2018.3.2,BluePrism V6.3,Automation Anywhere 11.2
Uipath (UP)
新建
UP的产品思路是从易于开发者安装和使用开始,本质是以自建工程起步的单机版开发工具,尽管目前版本的名字已经从NewProject改名成NewProcess ,但本质上每个人新建的还是一个工程文件。
熟悉Visio Studio 等任何一款软件开发工具的朋友就会对工程的概念很熟悉 , 如果有人在CSDN上分享成果,大家更想要的肯定是完整的开发工程包。
特点:单机本地工程文件,流程项目协同/版本控制,开发者权限/审计,代码安全等需要额外的管理方法和工具才可以实现 ; 但最大优势是,安装部署简便,再加上Uipath的大市场战略,所以国内知道UP,玩UP的人数量上是最多的。
流程设计
UP的设计器画面总给人一种无法看清流程全貌的感觉。
由于产品的历史原因和用户习惯使然,UP设计器还是主要在Main窗体里面套各种Sequence (序列,方框框)为主。
假设有如下需求已经通过Visio画出流程图,在UP中的实现参见下图:
如果不展开结构,似乎我们只看到了 Do While 和 If判断,那么我们就展开结构。

展开后的流程看起来累不累?
熟悉UP的玩家说,“还好啊” 。但问题是,这个需求如此简单,流程设计逻辑就看起来那么烦人了,那复杂的长流程+很多逻辑分支的情况呢 ?
为了解决Sequence的很多缺点,UP推出了 FlowChart Activity。

UP推出FlowChart Activity 就是想以画布设计的方式部分解决流程设计的缺点
但从FlowChart只是UP的一个Activity组件就大概能明白目前UP对FlowChart的定位。我不确定未来UP是否会强化FlowChart组件,让其成为内置默认设计框架,而Sequence 变成一个Activity 。 如果到了那一天, UP或许更加强大了。 (还有一个很重要原因想必是很多UP玩家习惯了 Sequence,而不愿意去适应FlowChart)
元素抓取
一款RPA工具是否强大,跟能抓到什么级别的元素还是蛮正相关的。不得不承认UP的元素抓取工具还是蛮强的。 点击 Indicate Element后 ,UP首先是以智能识别模式根据鼠标移动的位置自行判断元素类型和适配的方式。
如果是抓网页,默认会选择HTML方式去分析。有一些特殊情况可以考虑 UIA方式,实在无法识别就用区域模式去靠图片识别。
测试题是: mail.qq.com 点击- 账号密码登陆按钮
UP可以抓到,Selector结构如下

这个测试其实不难,只是抛砖引玉 ,不妨在考虑下以下场景:
SAP/Oralce EBS /用友ERP 元素抓取能力如何
特殊网页数据Table抓取能力如何,控件怎么处理
特殊的Java开发程序抓取能力如何
甚至Mainframe程序是否可以读到模拟器中信息
某一项流程能不能被完美自动化,往往是由能否顺利抓取到元素,读取元素信息所决定的。
可复用性
流程设计的基础模块功能可复用性的高低,是否可以方便其他人拿来就用,直接决定了项目开发效率和周期。
UP通过Add Folder 可以将一些通用性Library xaml文件导入到系统中(严格的讲只是被系统认到,并没有导入到系统的概念)。识别后也可以通过类似操作Activity的方式去调用这些共用。
但这些单独的文件,在项目协同,传参等方面还是有一些问题的。

BluePrism(BP)
新建
区别于UP,BP的设计思路一开始就是定位企业级甚至金融级的RPA平台。
所以在已经部署有RPA的环境中,你想新建一个自动化Robot ,对不起你得先有账号。每一个开发都是经过认证并且行为可追溯的。
BP通过新建Process ,来定义流程。 Process流程可以有很多Page页,便于梳理流程结构 ;Process可以调用Object实现基础功能模块 ;Process也可以调用Process。

流程设计
BP的设计画布更让有人设计的感觉。
BP的流程设计主要有两个维度:
第一个维度是Object ,
Object用来搞定跟各种第三方系统打交道的模型。Object 中有一个重要模块叫 Applicaiton Modeller ,通过这个适配器BP会协助开发者帮助建立BP与应用系统联系。
第二个维度是Process ,
只有Process才是可以被Publish发布到Control Room,以“正规”的方式去执行流程任务。 而Object仅仅可以在设计器Studio中运行 。
回到之前那个样例,如果在BP中实现设计,参见如下图
不得不佩服BP把设计器Studio做的非常好 。
很多场合如果是用BP流程设计开发,可以直接贴到项目的各种设计文档中。
元素抓取
BP的元素抓取能力非常强,而且支持很多模式,混合使用各种不同模式可以有更佳的效果。
HTML Mode
Win32 Mode
UI Automation Mode
Accessibility Mode
Region Mode
BP可以轻松抓取账号密码登陆这个Tab Bar ,而且能对元素进行深入分析,勾选匹配项。

BP应该是目前唯一一家可以对市场上主流的Mainframe模拟器进行解析,读模拟器中数据,直接写数据到模拟器中。
可复用性
BP VBO(Visiual Business Object 可视化业务对象)可以极大的提高流程开发的效率。 在面对比较复杂的流程的时候,可以分别由不同的开发人员设计不同的VBO对接不同系统 ,如果是在同一个开发平台 ,其他人可以直接在系统中调用别人已经开发好的VBO对象。如果不在同一个项目,也可以通过将VBO导出成XML文件的方式与别人共享。
BP项目在设计阶段,如何合理的设计不同的Object VBO对象,对项目进程会有较大的影响。
Automation Anywhere(AA)
新建
与BP类似,AA也是企业级部署的RPA平台。

没有单机运行的设计器,要部署了完整的整套系统才可以登陆AA平台。AA在对外宣传的时候号称有非常强的高可用性系统架构,由于是设计器专题这些也就不展开了。
AA新建Workbench,就是基于Task的维度。

流程设计
AA流程的核心是TASK,通过设计编写TASK来完成特定业务流程,或者再通过Workflow去调用TASK。当然TASK本身也可以调用TASK。
TASK里面利用很多很多Commands或者MetaBots,来组成具体的任务流。
AA的Task当中的流程设计界面长这个样子:
说实话,这样的流程设计界面太技术了,对普通人太不友好了。简直比网页源代码更复杂,不是吗?如果别人想读懂这个Task的内容,简直比直接读脚本代码更复杂。 #学AA好比新学一门语言
AA的WorkFlow 当中有部分可视化设计的功能,但是,实在是太局限了。 一共只有四个组件,一个Start ,一个End,一个IF,一个执行Task 。 所以Task才是AA的核心。

元素抓取
元素抓取AA似乎也没有另外两家的强。
AA有三种拾取模式,Object对象模式, Coordinates坐标模式, Image 图片模式。
有RPA实践经验的人一般会优先选择对象模式, 坐标模式很容易因为客户端分辨率(窗口是否最大化)等问题而导致失误。 但AA的对象模式较弱,无法识别“账号密码登陆”,也不支持切换诸如HTML/UIA/CS等其它对象适配方式。
并无法识别mail.qq.com的测试,AA只能识别到整个区域,并无法识别“账号密码登陆”按钮。
另外客观的吐槽几点(如有任何不对的地方,欢迎大哥指正):
AA内置的Mouse Command 的四个方法全部是基于坐标去做点击的

(无法适应窗体移动,或者最大化,分辨率一改就不灵)
AA很多复杂操作必须用到一个叫 Object Clone 组件。Object Clone组件很强,集合了很多功能,但是无论名称,还是定位总感觉怪怪的。 就好比之前做了很多组件发现不好用,后来一口气做了一个很强的Object Clone组件,里面有包含了太多的功能,名字也取的随意。

三种选择模式,各类操作动作(鼠标点击啥的,很多)
AA抓元素这个动作不舒服,需要按着鼠标移动到你想要检测的元素然后松开鼠标。其实不光是因为不顺手 ,还因为,比如如果你想切换不同的侦察元素模式,BP&UP 均可以通过按F? 来切换,但AA不行啊,因为一直保持鼠标左键按着。
可复用性
AA关于复用性的设计全部在MetaBot当中体现。
MetaBot 类似于 BP的VBO,但还是有一些区别。其实严格的讲,MetaBot更像带Input Output的 BP的可重用Process , 因为MetaBot的感觉更像一个可复用子流程的感觉,而BP的VBO有很多基础共用组件的属性。
AA的Commands 通俗的讲就是组件,并不支持自定义导入或者导出 ,所有新能力的获取就得等厂家的新版本,或者索性通过外部的脚本。 而UP&BP 都能通过一些方法实现自定义组件并且复用的能力。
这也是为什么 UP 可以做Uipath GO平台,BP可以做 Blue Prism DX平台的原因,而AA却不可以的原因。
总结:
由于时间和精力关系,本文只是挑了4个与设计器关系较高的角度分析了这三款RPA软件的差异。但还有很多其它指标都会影响RPA工具,比如软件系统架构,管理后台,安全性,工作队列,部门流程权限等等。下回或许可以从 RPA后台&安全的切入点再进行深入分析 。
讲了这么多外国的软件,春节前打算做一期国产RPA工具的分析,希望可以获得各位国产厂商老师的支持 。
作者:RPA虚拟员工转型之路
链接:https://www.jianshu.com/p/53d0d33a1a35
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
[转]Uipath、BluePrism、AA产品对比之设计器篇的更多相关文章
- .NET 开源工作流: Slickflow流程引擎高级开发(十) -- BpmnJS流程设计器集成
前言: 在Slickflow产品开发过程中,前端流程设计器经历了几个不同的版本(jsPlumb, mxGraph等),目的是为了在设计流程时的用户体验更加良好,得到客户的好评和认可.BpmnJS流程设 ...
- 2020主流国产BI产品对比
国产BI软件由于具备较强的本土特性,可以很好地适应国内用户的使用习惯,越来越多被国内用户使用.目前国内BI产品很多,可谓百家争鸣,如何从众多的BI产品中选择适合自己的呢?这里我们对比一下目前国内主流的 ...
- 消息服务MNS和消息队列ONS产品对比
消息服务MNS和消息队列ONS产品对比 MNS已经进过严格测试,已达到商业化的稳定性要求,其主要特点和适用场景 1.数据高可靠(10个9),对于数据可靠性敏感(要求消息数据不丢)的应用场景建议选择. ...
- APM调用链产品对比
APM调用链产品对比 随着企业经营规模的扩大,以及对内快速诊断效率和对外SLA(服务品质协议,service-level agreement)的追求,对于业务系统的掌控度的要求越来越高,主要体现在: ...
- 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用
基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...
- 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件
Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...
- SlickMaster.NET 开源表单设计器快速使用指南
前言:在企业数据处理过程中,经常需要通过定制表单来输入业务数据.由于涉及的数据比较离散,并不同于ERP系统的紧密关联数据.假如由开发人员每个增加页面,工作量会比较大,后期后期的维护很升级也耗费时间和精 ...
- 流程设计器jQuery + svg/vml(Demo7 - 设计器与引擎及表单一起应用例子)
去年就完成了流程设计器及流程引擎的开发,本想着把流程设计器好好整理一下,形成一个一步一步的开发案例,结果才整理了一点点,发现写文章比写代码还累,加上有事情要忙,结果就.. 明天要去外包驻场了,现把流程 ...
- 基于Extjs的web表单设计器 第三节——控件拖放
看过之前设计器截图的朋友应该有印象,可能会发觉我们的设计器UI设计布局其实类似Visual studio 的设计界面,采用的是左.中.右三个区域布局.左侧为控件区域.中间为表单的画布设区域.右侧为属性 ...
随机推荐
- linux系统版本查看
Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.# uname -a (Linux查看版本当前操作系统内核信息) Lin ...
- linux yum命令 使用
yum -y install 包名(支持*) :自动选择y,全自动 yum install 包名(支持*) :手动选择y or n yum remove 包名(不支持*) rpm -ivh 包名(支持 ...
- 原生wcPop.js消息提示框(移动端)、内含仿微信弹窗效果
wcPop.js移动端消息对话框插件是之前的wxPop.js的升级版,优化了js和css,并且新增了仿微信弹窗效果, 是一款含有多种情景模式的原生模态消息对话框代码,可用于替代浏览器默认的alert弹 ...
- Vue 进阶之路(六)
上篇文章我们分析了一下 vue 中的条件渲染,本篇我们说一下 vue 中的列表渲染和 set 方法. <!DOCTYPE html> <html lang="en" ...
- .NETCore 下支持分表分库、读写分离的通用 Repository
首先声明这篇文章不是标题党,我说的这个类库是 FreeSql.Repository,它作为扩展库现实了通用仓储层功能,接口规范参考 abp vnext 定义,实现了基础的仓储层(CURD). 安装 d ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
- Go:学习笔记兼吐槽(3)
Go:学习笔记兼吐槽(1) Go:学习笔记兼吐槽(2) Go:学习笔记兼吐槽(3) 数组 Golang 中,数组是值类型. 数组的声明 var arr [10]int 数组的初始化 var arr1 ...
- 微信小游戏爆款秘笈 数据库MongoDB攻略篇
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB 发表于云+社区专栏 随着微信小游戏的爆发,越来越多开发者关注到MongoDB与小游戏业务的契合度. ...
- SoEasyPlatform 代码生成器
介绍 一款轻量级开源的代码生成器,相对较动软代码生成器而言要轻量的多,支持多种数据库,所用到dll组件也都在github有源码,代码非常的简单有点基础的看源码可以把生成的项目改成自已的风格. 特色 该 ...
- .net相关知识
1.简述 private. protected. public. internal 修饰符的访问权限. private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该 ...