你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 IBM 中型机系统上的 COBOL 和 RPG 程序与 Azure 逻辑应用中的标准工作流集成

适用于:Azure 逻辑应用(标准)

若要从 Azure 逻辑应用中的标准工作流访问和运行 IBM 中型机系统上的 COBOL 和 RPG 程序,可以使用内置的基于服务提供商的连接器,该连接器名为“IBM i 程序调用”。 IBM i 操作系统提供分布式程序调用 (DPC) 服务器。 该连接器与 IBM i DPC 服务器通信,以使用 TCP/IP 执行 COBOL 和 RPG 程序。 IBM i 连接器在所有 Azure 逻辑应用区域中可用,但 Azure 政府和由世纪互联运营的 Microsoft Azure 除外。

本操作指南介绍了有关 IBM i 连接器的以下方面:

  • 为什么要在 Azure 逻辑应用中使用 IBM i 连接器

  • 有关使用 IBM i 连接器的先决条件及其设置方法

  • 将 IBM i 连接器操作添加到标准逻辑应用工作流的步骤

为何要使用此连接器?

50 多年前,IBM 发布了第一个中机型系统。 IBM 的广告词是“体积小、价格低、性能高。 这是一个面向当下和未来的系统。” 多年来,中型机系统不断发展,并在中型企业或大型企业中普及,以扩展大型机环境。 运行 IBM i 的中型机系统(通常是电力系统)支持 TCP/IP 和 SNA。

IBM i 系统包括 DPC 服务器功能,让大多数 IBM i 应用程序能够使用客户端发起的仅请求回复模式与客户端(例如 Azure 逻辑应用)进行交互,而只需进行最小的修改。 DPC 是一种记录在案的协议,支持 IBM i 系统上的程序到程序集成,客户端应用程序可使用 TCP/IP 网络协议轻松访问该集成。

Microsoft Host Integration Server (HIS) 使用 TCP/IP 和 APPC LU6.2 与 IBM i 系统建立连接。 多年来,客户一直使用 HIS 事务集成器 (TI) 在本地集成 IBM i 系统和 Windows。 “IBM i 程序调用”连接器使用 TCP/IP 编程模型与 IBM i COBOL 和 RPG 程序进行交互。

下图显示了 IBM i 连接器如何与 IBM i 系统进行交互:

概念图显示 IBM i Program Call 连接器如何与 IBM 中型系统配合使用。

为了扩展这些混合云方案,标准工作流中的 IBM i 连接器与用于逻辑应用的 HIS 设计器配合使用,你可使用该设计器来创建 COBOL 或 RPG 程序的程序定义或程序映射。 对于此任务,HIS 设计器使用编程模型来确定中型机和工作流之间数据交换的特征。 HIS 设计器将该信息转换为 IBM i 连接器在工作流中运行操作时使用的元数据。

通过 HIS 设计器生成元数据文件作为主机集成设计器 XML (HIDX) 文件后,可以将该文件作为映射项目添加到标准逻辑应用资源。 这样,在添加 IBM i 连接器操作时,工作流就可以访问应用的元数据。 连接器从逻辑应用资源中读取元数据文件,并动态地显示要在工作流与 IBM i 连接器一起使用的参数。 然后,可将参数提供给主机应用程序,而连接器会将结果返回给工作流。 因此,你可以将旧版应用与 Azure、Microsoft,以及 Azure 逻辑应用支持的其他应用、服务和系统相集成。

连接器技术参考

以下部分介绍 IBM i 连接器的操作,目前仅包含以下操作:

调用 IBM i 程序

参数 必选 类型​​ 描述
HIDX 名称 字符串 选择要使用的 IBM i HIDX 文件。
“方法名称” 字符串 选择要使用的 HIDX 文件中的方法。
高级参数 多种多样 选择方法后会显示此列表,以便添加其他参数来用于所选方法。 可用参数因 HIDX 文件和所选方法而异。

此操作还包括在选择方法后显示的高级参数,供你选择并与所选方法配合使用。 这些参数因 HIDX 文件和所选方法而异。

限制

目前,此连接器要求将 HIDX 文件直接上传到标准逻辑应用资源,而不是集成帐户。

先决条件

  • Azure 帐户和订阅。 如果没有 Azure 订阅,请注册一个免费 Azure 帐户

  • 访问托管 IBM i 系统的中型机

  • 主机集成设计器 XML (HIDX) 文件,该文件提供“IBM i 程序调用”连接器执行中型机程序所需的元数据。

    若要创建此 HIDX 文件,请下载并安装适用于 Azure 逻辑应用的 HIS 设计器。 唯一的必备组件是 Microsoft .NET Framework 4.8

    若要调用中型机程序,工作流需要了解中型机程序的类型、参数和返回值。 IBM i 连接器可管理此过程和数据转换。要向中型机程序提供来自工作流的输入数据和向工作流发送从中型机程序生成的任何输出数据,必须进行这些转换。 该连接器还提供表格数据定义和代码页转换。 对于此过程,Azure 逻辑应用要求将此信息作为元数据提供。

    若要创建此元数据,请使用用于逻辑应用的 HIS 设计器。 借助此工具,可以手动创建在工作流中使用的方法、参数和返回值。 还可以导入提供此信息的 COBOL 或 RPG 程序定义 (copybook)。

    该工具会生成一个主机集成设计器 XML (HIDX) 文件,该文件提供连接器在所需的元数据。 如果使用 HIS,可以使用 TI 设计器创建 HIDX 文件。

  • 要与 IBM i 系统集成的标准逻辑应用工作流

    IBM i 连接器没有触发器,因此请使用任何触发器(例如“重复”触发器或“请求”触发器)来启动工作流。 然后,可以添加 IBM i 连接器操作。 若要开始,请在标准逻辑应用资源中创建一个空白工作流。

定义和生成元数据

下载并安装用于 Azure 逻辑应用的 HIS 设计器后,请按照这些步骤从元数据项目生成 HIDX 文件

上传 HIDX 文件

若要使工作流使用 HIDX 文件,请执行以下步骤:

  1. 转到保存 HIDX 文件的文件夹并复制该文件。

  2. Azure 门户中,将 HIDX 文件作为映射到标准逻辑应用资源

  3. 现在,将 IBM i 操作添加到工作流

在本指南的稍后部分,首次向工作流添加“IBM i 程序调用”连接器操作时,系统会提示你在工作流与中型机系统之间建立连接。 创建连接后,可以选择前面添加的 HIDX 文件、要运行的方法以及要使用的参数。

添加 IBM i 操作

  1. Azure 门户的设计器中,打开标准逻辑应用资源和工作流。

  2. 如果尚未添加用于启动工作流的触发器,请按照这些常规步骤添加所需的触发器

    此示例继续使用名为“收到 HTTP 请求时”的请求触发器。

    屏幕截图显示 Azure 门户、标准工作流设计器和请求触发器。

  3. 若要添加 IBM i 连接器操作,请按照这些常规步骤添加名为“调用 IBM i 程序”的“IBM i 程序调用”的内置连接器操作

  4. 出现连接详细信息窗格后,请提供以下信息,例如主机服务器名称和 IBM i 系统配置信息:

    参数 必须 说明
    连接名称 <connection-name> 连接名称
    服务器证书公用名称 <server-cert-common-name> 要使用的传输安全层 (TLS) 证书的名称
    代码页 <code-page> 用于转换文本的代码页码
    密码 <password> 用于连接身份验证的可选用户密码
    端口号 <port-number> 用于连接身份验证的端口号
    服务器名称 <server-name> 服务器名称
    超时 <timeout> 等待服务器响应的超时时间(以秒为单位)
    用户名 <user-name> 用于连接身份验证的可选用户名
    使用 TLS 判断对错 使用传输安全层 (TLS) 保护连接。
    验证服务器证书 判断对错 验证服务器证书。

    例如:

    屏幕截图显示 IBM i 操作的连接属性。

  5. 完成后,选择“新建”。

  6. 出现操作详细信息窗格后,在“参数”部分中提供所需信息:

    参数 必须 说明
    HIDX 名称 <HIDX-file-name> 选择要使用的 IBM i HIDX 文件。
    “方法名称” <method-name> 选择要使用的 HIDX 文件中的方法。
    高级参数 多种多样 选择方法后会显示此列表,以便添加其他参数来用于所选方法。 可用参数因 HIDX 文件和所选方法而异。

    例如:

    选择 HIDX 文件和方法

    屏幕截图显示采用所选 HIDX 文件和方法的 IBM i 操作。

    选择高级参数

    屏幕截图显示采用所有参数的 IBM i 操作。

  7. 完成后,保存工作流。 在设计器工具栏上,选择“保存”。

测试工作流

  1. 若要运行工作流,请在工作流菜单上选择“概述”。 在“概述”工具栏上,选择“运行”>“运行”。

    工作流完成运行后,将显示工作流的运行历史记录。 步骤成功后会显示勾选标记,步骤失败则会显示感叹号 (!)。

  2. 若要查看每个步骤的输入和输出,请展开该步骤。

  3. 若要查看输出,请选择“查看原始输出”。

后续步骤