使用Uipath 制作网络APP 的设计方案

大家好。 第一次使用中文发言,不足处请批评指正。
这是我做的一个Uipath的尝试。效果很好。
1 待解决问题:
我们经常遇到使用特定平台上(或者 企业云) 的软件的情况。这类平台通常不提供API 通信代码,而是提供一个用户端软件。我要解决的问题如下:
1 如果这个软件是 PC only,我们就不能使用移动通讯链接
2 如果他是放在一个受保护的内网里面的, 或者我们不希望向公网软件开方 端口: 在这种情况下公网用户不可进入内网软件。

2 解决思路
解决这个问题 需要
步骤 1 制作一个browser App 作为公网上PC和移动设备的用户界面前端( front end)
步骤 2 Browser App 还要有用放在服务器上的后端(back end) ,主要是数据库
后端可以放在公网也可以放在内网上。
步骤 3 Uipath robot在内网上通过http call 读取后端数据获取命令并且通过用户端软件模拟人类动作执行刚获取的命令

3 达到的效果: 可以在不取得特殊权限的情况下
1 移植PC软件到移动设备上;
2 内网软件公网化。 既提高了软件使用范围, 又能很大程度兼顾使用内网的防火墙和其他保密措施,降低风险 。 用于步骤1数据是公网通讯, 所以这写数据应当是通过https 来进行通讯。它的安全风险和一般公网是一致的。

4 我的一个实施方案( 验证过)
步骤 1 我选择了angular来写网页APP,他很好兼容了PC 和移动设备
步骤 2 我选择了django rest frame work 来写后端,它好处是RPA可以通过API call 来实现数据的读取,更新和删除。 django支持python和angular的网页,而且自带一个默认的sqlite数据库。我很喜欢这个小数据库对于100 人一下的小团队绰绰有余,再加上是玩票,我也没有更换它。 但是如果要制作大型的数据交流,还是需要使用更专业的网络数据库
步骤3 甲 RPA bot对网站后端做api call 获取任务内容清单,每次任务完成后,重复api call 获取新任务内容清单。Uipath的http activity能实现这个功能。
步骤3 乙 可以通过同时使用多个 RPA bot 来获取处理速度提升。提升的倍数就是RPA的个数。 例如,有1000 个待 处理任务, 每个任务需要1 分钟,那么1个bot 需要1000 分钟, 2个bots需要500 分钟…10 个bots需要100分钟

注意 :对于多任务 应当在制作后端数据库时对任务队列设置优先级别。保证每次RPA bot都会执行最优先的任务。

步骤3 丁 RPA通过用户端软件执行任务。 小学课程就不用详讲了吧…

通过以上方案,你就可以有一个公网化,移动化的网络APP。我这方案唯一不是很顺手的地方是: Uipath 是基于.net 语言的 ( VB 和C#), 而django和angular 是Python和java script。 需要随时在4 门语言中切换. 不过惯了就好…

以上文字抛砖引玉而已。 见笑。

1 Like