Mainframe大型机–RPA流程自动化

Mainframe是什么

Mainframe是一种大型商业服务器,当今更多地被形容成一整套操作、应用和系统的集合,目前广义上已经把之前更加细分的大型机、小型机、其他一些Unix基本都可以归类为mainframe了。金融系统一直是应用大型机数量最大最集中的领域。

我们听过的mainframe 系统可能主要有,是类似Linux的一种系统:

  • IBM AIX/370, S/390
  • AS/400 System
  • HP mainframe
  • 其它

Terminal连接到一台AS400

Terminal连接到一台AS400

 

谁在使用 Mainframe

Mainframe是每秒执行数百万笔交易的最佳平台,可靠性高是其最大特点。咱们国内很多银行,保险公司,甚至一些制造业都有mainframe系统在生产上运行。一些mainframe系统已经被定义为 legacy system(遗留系统),但是依然不影响这些系统的重要性。

RPAPlus: 我们接触过部分用户,有考虑从基于 mainframe 的核心系统迁移到基于Windows的C/S平台的核心系统。由于分布式应用的兴起,单机性能瓶颈也慢慢被解决了。但可能有一件事会出乎很多人的预料,有部分已经习惯基于命令行作业的业务老师们,会觉得图形化窗体操作界面效率低,反而更愿意使用他们熟悉的mainframe系统。

 

Mainframe Emulators 大型机连接终端

  • IBM iAccess For Windows
  • TN3270
  • HP Teamtalk
  • Micro Focus
  • 其它

 

RPAPlus: 如有想玩一玩mainframe终端模拟器,尝试RPA交互,可以点击下载一个 TN3270试用版。

TN3270 (下载1)

 

Mainframe可以被自动化吗?

Terminal Emulator 交互

RPA工具自动化mainframe应用的方式一般是与最终用户使用的同一终端仿真器进行交互。与仿真器进行交互的方式通常有这样几种。

与仿真器交互的两种方法是:

  • 仿真器高级语言应用程序接口(EHLLAPI)
  • 屏幕抓取模拟器屏幕
  • 另类复制黏贴方式
  • 其它

EHLLAPI指使用该接口的通用终端模拟器,这种方式是目前最主流的RPA 自动化mainframe 解决方案,有非常高的准确性和速度。不同的终端模拟器会有不同的配置,想要完全兼容不同的模拟器也需要相应的匹配开发。

屏幕抓取模拟器这种方式的核心是使用Computer Vision,这种方式类似于实现Citrix虚拟机的方式,可靠性和速度均较差,容易受很多诸如位置分辨率等因素影响。这样的方法是万不得已情况下才会考虑使用的方案,而且仅限于执行非常小的任务。

所谓另类方式也是近两年碰到的,因为有人发现某些终端模拟器上显示的文字是可以被全屏拷贝出来的,实现读取内容目的,然后点一下终端模拟器窗体会自动定位到输入光标位置,实现输入目的,多数界面是带有很多输入光标位置的,所以可靠性极差。

RPAPlus: 严格的讲,第三种方式的可靠性和准确率更是低的可怜,根本不建议用。 除非有一个非常特殊的场景,只需要简单几步,正好可以这样搞定。

部分RPA产品,能力上的不足可以大方的承认,不要硬着头皮对客户说,“什么都行”,最后害人害己。

 

 

BluePrism支持的部分 terminal模拟器清单

BluePrism支持的部分 terminal模拟器清单

 

Uipath 有一个关于mainframe的Activity,名字叫“UiPath.Terminal.Activities”(没有在实际项目验证过,多次尝试下载这个Activities也都报错没有成功)

有几种方法可以使提到的终端自动化:

  • 使用现有/已安装的终端应用程序
  • 使用IBM EHLLL标准
  • 使用这些协议的UiPath内部实现

 

Terminal Record Wizard

 

 

 

 

 

还有其他方案么?

还有另一种自动化大型机应用程序的方法,它可以与现有的RPA工具一起使用。为什么不与终端仿真器直接交互,而与终端仿真器UI交互?ActiveOps(以前称为OpenConnect)一直提供大型机连接产品,并具有无需台式机模拟器即可自动执行大型机应用程序的技术。

怎么运作

ConnectiQ使用TN3270连接到大型机,这与终端仿真器使用的协议相同。该软件维护与大型机的持久会话并处理所有屏幕映射。区别在于没有实际的屏幕。一切都存储在内存中,并且直接处理原始数据,而不是发送到屏幕进行人机交互。这样可以减少开销并显着提高性能。因为它是基于服务器的,所以它将在一个平台上支持数千个并发会话。

ConnectiQ是包含此技术的产品,非常适合与RPA工具集成。ConnectiQ不依赖于API与大型机应用程序进行交互。它可以访问原始的3270数据,因此它“看到”了每个属性和每个字符,从而使其比使用API​​或屏幕抓取的技术更加准确。

没有代码的设计任务

提供了一个名为Configure的任务设计器工具,用于创建与大型机屏幕交互的任务。它旨在供了解应用程序和流程的人员而非程序员使用。配置允许您创建执行常见功能的任务。任务可以调用其他任务,从而可以重用常用功能并减少交付价值的时间。任务完成后,您只需部署到服务器并将其标记为可用于服务即可。版本控制是本机提供的,允许您为每个环境支持多个版本。

用户可以使用SOAP或RESTful服务通过Web服务调用来访问任务。这使客户可以将大型机应用程序数据集成到任何应用程序中,包括客户门户,移动应用程序,前台应用程序,后台应用程序和RPA机器人。

 

RPAPlus: 我们认为自动化有UI的终端模拟器,效率已经够高了,而且可以有一个直观的感受和验证机器人的作业是否合理合法。

 

为什么自动化Mainframe有必要

本文中所讲的自动化mainframe指得是自动化操作连接mainframe的终端模拟器,而不是真正自动化mainframe本身。

普通一线业务用户,需要打开终端模拟器,登录mainframe ,login to不同的模块,录入业务数据,获得业务反馈。通过类似DoS界面操作生产数据是很多人没有经历过的,不过这样的系统,这样的岗位确实存在。如何帮助需要与mainframe系统打交道的业务人员提升效率和准确率呢, RPA自动化Mainframe 

 

某保险公司保单核心系统

某保险公司保单核心系统

 

RPA 自动化的生存环境往往是在企业现有系统不够完善,或者有各种陈旧系统的环境里 ,作为企业级RPA,能打通企业各类陈旧系统对于保障最后自动化成功至关重要。