为 CICS 或 IMS 主机应用程序设计元数据项目

本指南介绍如何为 CICS 或 IMS 主机应用程序设计元数据项目。 然后,可以将这些元数据项目另存为 Host Integration Server Definition XML (HIDX) 文件,以用于 Azure 逻辑应用中的 CICS 和 IMS 内置、基于服务提供程序的连接器。

先决条件

  • 下载并安装 Visual Studio。 安装后,请确保还在 Visual Studio 中安装名为 “使用 C++ 桌面开发” 的工作负载。 否则,会收到错误“ 来自 HRESULT 的异常0x800A007C

  • 下载并安装适用于 Azure 逻辑应用的 HIS Designer。 唯一的必备组件是 Microsoft .NET Framework 4.8

  • 在 Azure 逻辑应用中启用对平面文件处理器的 Visual Studio 支持。 对于此任务,请执行以下步骤:

    1. 打开 Visual Studio。 在工具栏上,打开 “工具” 菜单,然后选择“ 选项”。

    2. “选项” 列表中,展开“ 主机集成服务器”,然后选择“ 主机文件”。

    3. 在“ 主机环境 ”选项卡上,选择“ 包括对平面文件处理器和逻辑应用的支持”。

      包括对平面文件处理器和逻辑应用对话框的支持

创建主机应用程序项目

在 Visual Studio 中,可以使用“主机应用程序”项目模板创建元数据项目。 然后,可以在 Azure 逻辑应用的标准工作流中将这些项目与 CICS 和 IMS 内置、基于服务提供商的连接器一起使用。 若要创建新的主机应用程序项目,请执行以下步骤:

  1. 在 Visual Studio 的“ 文件 ”菜单中,选择“ 新建>项目”。

  2. 从项目模板列表中,选择“ 主机应用程序>下一步”。

  3. “配置新项目 ”框中,更改所需的详细信息,然后选择“ 创建”。

    屏幕截图显示了 Visual Studio 和配置新项目的详细信息。

添加 .NET 客户端定义

若要支持 Azure 逻辑应用中的 CICS 和 IMS 连接器,需要添加 .NET 客户端定义。

  1. 在解决方案资源管理器中,打开新主机应用程序项目的快捷菜单,然后选择“添加>.NET 客户端定义”。

  2. 当“ 添加新项 ”框出现时,在 “名称” 属性中,提供 .NET 客户端定义的名称,然后选择“ 添加”。

    这些步骤将继续执行示例名称 NetClnt1

  3. 启动 .NET 客户端定义向导后,在“ ”框中,为用于标识要创建的 .NET 客户端库的接口提供名称。

    此示例继续使用接口名称 IInterface1

    屏幕截图显示“.NET 客户端定义”向导和“库”框。

  4. 完成后,选择“下一步” 。

  5. 在“ 远程环境 ”框中,通过提供以下信息标识远程大型机或中型机环境以及要使用的编程模型:

    参数 值或操作
    供应商 Microsoft
    协议 选择适当的网络协议以访问大型机或中型机系统:

    - Tcp
    - HTTP
    - LU 6.2 (不支持 Azure 逻辑应用连接器)
    目标环境 选择目标系统:

    - Cics
    - Ims
    - 系统 i
    - 系统 Z
    - 系统 i 分布式程序调用
    编程模型 选择 编程模型
    主机语言 选择使用的语言: COBOLRPG
    允许 32K 传入/输出 选择此选项可在使用 LINK 模型时使用整个 32K 的 COMMAREA 数据区域
  6. 完成操作后,选择“创建”。

完成向导后,将显示main设计视图,以便手动创建或导入元数据项目。 对于此任务,请继续下一部分。

设计元数据项目

本部分介绍如何手动创建元数据项目。 若要改为导入主机定义,请参阅 导入主机定义

下表列出了main设计视图的组件:

组件 说明
组件节点 元数据项目的根。 存储有关客户端库和远程环境的信息。
接口节点 对组件中的所有方法进行分组。
“数据表”文件夹 对程序集中的数据表进行分组。
“结构”文件夹 使用共享属性对变量进行分组。
Unions 文件夹 表示 COBOL 联合的等效项。

添加方法

对于元数据项目,可以添加方法,向 Azure 逻辑应用中的工作流公开大型机程序业务逻辑。

  1. 在main设计视图中,打开新界面的快捷菜单,然后选择“添加方法”。

    屏幕截图显示main设计视图、界面快捷菜单和“添加方法”的选定选项。

  2. 打开方法的快捷菜单,然后选择“ 属性”。 根据文章方法属性提供 方法属性的值。

添加参数或返回值

添加方法后,可以定义参数和返回值,以在 Azure 逻辑应用中的大型机程序和工作流之间传递和接收数据。

  1. 在main设计视图中,打开新方法的快捷菜单,然后选择“添加参数”。

    屏幕截图显示main设计视图、方法快捷菜单和“添加参数”的选定选项。

  2. 打开参数的快捷菜单,然后选择“ 属性”。 根据下表提供参数属性的值:

    属性 说明或值
    是数组 如果为 true,则必须设置数组维度,该维度支持最多包含 7 个维度和 16,777,215 个元素的数组。 还必须输入数组属性的“ 发生计数在内 ”和“ 根据依据发生”的值。
    数据类型 参数的 .NET 数据类型
    名称 参数的名称
    参数方向 方法参数的方向: InIn/OutOut
    错误处理 触发错误、舍入或截断。
    主机数据类型 参数的 COBOL 或 RPG 数据类型
    精度 参数的数据精度
    尾随填充符 对于长度小于指定最大值的参数,必须指定填充大小。

    屏幕截图显示新参数和属性。

  3. 打开新方法的快捷菜单,然后选择“ 添加返回值”。

    屏幕截图显示main设计视图、方法快捷菜单和“添加返回值”的选定选项。

  4. 打开返回值的快捷菜单,然后选择 “属性”。 根据下表为返回值的属性提供值:

    属性 说明或值
    是数组 如果为 true,则必须设置数组维度,该维度支持最多包含 7 个维度和 16,777,215 个元素的数组。 此外,还必须输入数组属性的“ 发生计数” 和“ 发生依据”。
    返回类型 返回值的 .NET 数据类型
    返回定位在之后的值 指示返回值相对于参数的位置。
    使用 TICS 工作区 一个布尔值,指定使用 256 字节的工作区域,该工作区在持久连接上保留,并放置在数据开头。
    错误处理 触发错误、舍入或截断。
    主机数据类型 返回值的 COBOL 或 RPG 数据类型
    精度 参数的数据精度
    尾随填充符 对于长度小于指定最大值的参数,必须指定填充大小。

    屏幕截图显示新的返回值和属性。

添加数据表

  1. 在“main设计”视图中,打开“数据表”快捷菜单,然后选择“添加数据表”。

    屏幕截图显示main设计视图、“数据表”快捷菜单和“添加 DataTable”的选定选项。

  2. 打开新数据表的快捷菜单,然后选择 “添加数据表列”。 根据需要重复此步骤。

  3. 打开新列的快捷菜单,然后选择 “属性”。 根据下表为每个列的属性提供值:

    属性 说明或值
    数据类型 列的 .NET 数据类型
    名称 列的名称
    错误处理 触发错误、舍入或截断。
    主机数据类型 列的 COBOL 或 RPG 数据类型
    精度 列的数据精度
    尾随填充 对于长度小于指定最大值的列,必须指定填充大小。

    显示新列和属性的屏幕截图。

添加结构

  1. 在“main设计”视图中,打开“结构”快捷菜单,然后选择“添加结构”。

    屏幕截图显示main设计视图、“结构”快捷菜单和“添加结构”的选定选项。

    设计器创建具有一个成员的结构。

  2. 若要添加另一个成员,请打开新结构的快捷菜单,然后选择“ 添加结构成员”。 根据需要重复此步骤。

  3. 打开成员的快捷菜单,然后选择 “属性”。 根据下表为每个成员的属性提供值:

    属性 说明或值
    是数组 如果为 true,则必须设置数组维度,该维度支持最多包含 7 个维度和 16,777,215 个元素的数组。 此外,还必须输入数组属性的“ 发生计数” 和“ 发生依据”。
    数据类型 成员的 .NET 数据类型
    名称 成员的名称
    错误处理 触发错误、舍入或截断。
    主机数据类型 成员的 COBOL 或 RPG 数据类型
    精度 成员的数据精度
    尾随填充 对于长度小于指定最大值的成员,必须指定填充大小。

    屏幕截图显示新的结构成员和属性。

添加联合

  1. 在“main设计”视图中,打开“联合”快捷菜单,然后选择“添加联合”。

    屏幕截图显示“main设计”视图、“联合”快捷菜单和“添加联合”的选定选项。

    设计器创建一个包含两个成员的联合。

  2. 若要添加另一个成员,请打开新联合的快捷菜单,然后选择“ 添加联合成员”。 根据需要重复此步骤。

  3. 打开成员的快捷菜单,然后选择 “属性”。 根据下表为每个成员的属性提供值:

    属性 说明或值
    是数组 如果为 true,则必须设置数组维度,该维度支持最多包含 7 个维度和 16,777,215 个元素的数组。 此外,还必须输入数组属性的“ 发生计数” 和“ 发生依据”。
    数据类型 成员的 .NET 数据类型。 此值可以包括上一部分中定义的结构。
    名称 成员的名称
    错误处理 触发错误、舍入或截断。
    主机数据类型 成员的 COBOL 或 RPG 数据类型
    精度 成员的数据精度
    尾随填充 对于长度小于指定最大值的成员,必须指定填充大小。

    屏幕截图显示新的联合成员和属性。

  4. 完成后,继续转到下一部分,以创建存储元数据设计的库。

(HIDX) 或元数据项目创建主机集成定义 XML

本部分介绍如何创建存储元数据项目设计的库。

  1. 若要生成元数据项目,请在 Visual Studio “文件 ”菜单或工具栏上,选择“ 全部保存”。 (键盘:按 Ctrl+Shift+S)

    屏幕截图显示 Visual Studio 工具栏,其中包含“全部保存”选项。

  2. 若要查找生成的 HIDX 文件,请转到主机应用程序的 文件夹。

    屏幕截图显示 Visual Studio 输出窗口,其中包含 HIDX 文件位置。