为解决方案选择适当的编程模型
编程模型根据特定的解决方案目标确定用于访问和集成主机应用程序和配置要求的方法。 如果实现 TI 或使用大型机和中型系统的连接器在 Azure 逻辑应用中创建工作流,则可能需要更改现有大型机事务程序 (TP) 以适应它们支持的编程模型。 具体而言,在以下情况下可能需要这样做:
TP 不需要简单的请求-答复响应。
CICS TP 以业务逻辑形式在同一 TP 中嵌入了终端处理逻辑。
必须将这种类型的 TP 重构为两个单独的 TP。 访问大型机计算机上已作为 TP 存在的业务逻辑。 可以使用此功能,也可以先在 COM 端创建方法,然后在大型机计算机上创建必要的服务器 TP。 这仍然是一个可行的选项,因为 TI 可能比标准数据访问方法更适合访问某些类型的数据,例如存储在 VSAM 数据集中的数据。
必须仔细分析组织的业务需求,以便可以使用 TI 中提供的编程模型之一来实现事务访问。 TI 支持下表中列出的编程模型,其中列出了在为组织选择适当的编程模型时应考虑的一些因素:
- 网络协议
- 可以发送到主机的消息或数据的最大大小
- 是否需要在主机应用程序中使用两阶段提交事务
- 是否必须编写自己的通信协议来支持 Link 程序
- 是否希望服务器能够维护客户端到服务器的上下文,也称为持久连接
- 特定于特定模型的其他要求
下表汇总了各编程模型中的相似性和差异:
编程模型 | 网络协议 | 最大消息或数据大小 | 支持两阶段提交 | 编写自己的通信协议 | 支持持久连接 | 支持 Azure 逻辑应用 | 其他要求 |
---|---|---|---|---|---|---|---|
TCP 事务请求消息链接 | TCP/IP | 32 KB | 否 | 否(请参阅示例代码) | 是 | 是 | - 请参阅 mscmtics.cbl 示例应用程序。 - 服务器应用程序和端口之间的 1:多关系 |
TCP 增强侦听器消息链接 | TCP/IP | 32 KB | 否 | 否(请参阅示例代码) | 是 | 是 | - 请参阅 mscmtics.cbl 示例应用程序。 - 服务器应用程序和端口之间的 1:1 关系 |
TCP 事务请求消息用户数据 | TCP/IP | 无限制 | 否 | 是 (服务器 TP 编码为通过 TCP/IP.) 处理所有套接字调用 |
是 | 是 | 服务器应用程序和端口之间的 1:多关系 |
TCP 增强侦听器消息用户数据 | TCP/IP | 无限制 | 否 | 是 (服务器 TP 编码为通过 TCP/IP.) 处理所有套接字调用 |
是 | 是 | 服务器应用程序和端口之间的 1:1 关系 |
IMS 连接 | TCP/IP | 10MB | 否 | 否 | 否 | 是 | - 不允许从 TI 到主机的入站 (,) 无限制的记录集。 TI 无法将无限制的记录集发送到主机。 仅支持从主机返回到 TI 的记录集。 - 依赖于 IBM 提供的HWSIMSO0和HWSIMSO0退出例程 |
IBM i 分布式程序调用 | TCP/IP | 32KB | 否 | 否 | 是 | 否 | |
CICS LU6.2 链接 | LU6.2 | 32KB | 是 | 否 | 否 | 否 | - 服务器 TP 已编码为使用 COMMAREA。 注意:CICS 链接不支持多个发送和接收命令。 因此,不支持可变长度记录集,但支持固定大小的记录集。 - CICS TP 不包含直接处理发出 APPC 谓词的必要逻辑,而是必须依赖于 CICS 镜像事务。 - 为简单的发送和接收序列编码 TP。 |
CICS LU6.2 用户数据 | LU6.2 | 无限制 | 是 | 是 (服务器 TP 编码以处理所有 APPC 和同步级别 2 通信。) |
是 | 否 | - 现有 TP 包含管理自己的 APPC 和同步级别 2 通信所需的适当代码。 - 可以使用多个发送和接收命令。 |
LU6.2 用户数据 | LU6.2 | 无限制 | 是 | 否 | 否 | 否 | - 每个服务器 TP 都必须具有使用 LU6.2 协议处理所有数据通信所需的嵌入式代码。 |
HTTP 链接 | HTTP | 32 KB | 否 | 否 | 否(请参阅示例代码) | 是 | - 请参阅 MSHMIRS 示例程序 - 服务器应用程序和端口之间的 1:多关系 |
HTTP 用户数据 | HTTP | 无限制 | 否 | 否 | 是,基于 HTTPGetBalanceUserData.cbl 中的示例代码 | 是 | - 请参阅 GETBALUD 示例程序 - 服务器应用程序和端口之间的 1:多关系 |
如果实现特定的编程模型,则必须在大型机或 IBM i 计算机上安装并配置相应的软件。 为组织选择适当的编程模型时,可能需要评估当前主机配置与最低要求的匹配程度。 下表汇总了每种编程模型的最低软件和配置要求:
编程模型 | 安装和配置的要求 |
---|---|
TCP 事务请求消息链接 | - IBM z/OS 2.3 或更高版本 - IBM CICS 5.2 或更高版本 - 配置并启动 CICS TCP/IP 中包含的侦听器 TP - 适用于 z/OS 版本 2.3 或更高版本的 TCP/IP - 在 VTAM 的 APPL 语句中定义的至少一个 CICS 区域,并配置了 TP。 |
TCP 增强侦听器消息链接 | - IBM z/OS 2.3 或更高版本 - IBM CICS 组件服务 - 配置并启动 CICS TCP/IP 中包含的侦听器 TP - 适用于 z/OS 版本 2.3 或更高版本的 TCP/IP - 在 VTAM 的 APPL 语句中定义了至少一个 CICS 区域,其中配置了 TP |
TCP 事务请求消息用户数据 | - IBM z/OS 2.3 或更高版本 - IBM CICS 5.2 或更高版本 - 配置并启动 CICS TCP/IP 中包含的侦听器 TP - 适用于 z/OS 版本 2.3 或更高版本的 TCP/IP - 在 VTAM 的 APPL 语句中定义了至少一个 CICS 区域,其中配置了 TP |
TCP 增强侦听器消息用户数据 | - IBM z/OS 2.3 或更高版本 - IBM CICS 组件服务 - 配置并启动 CICS TCP/IP 中包含的侦听器 TP - 适用于 z/OS 版本 2.3 或更高版本的 TCP/IP - 在 VTAM 的 APPL 语句中定义了至少一个 CICS 区域,其中配置了 TP |
IMS 连接 | - IBM z/OS 2.3 或更高版本 - IBM IMS 13.1 或更高版本 - IMS TCP/IP 中包含的侦听器 TP - 适用于 z/OS 2.3 或更高版本的 TCP/IP - IMS TCP/IP |
IBM i 分布式程序调用 | IBM IBM i 版本 4 版本 1 或更高版本 |
CICS LU6.2 链接 | - IBM z/OS 2.3 或更高版本 - IBM CICS 版本 5.2 或更高版本 - CICS 镜像事务,包含在 CICS 版本 5.2 或更高版本中 - VTAM - 在 VTAM 的应用程序 (APPL) 语句中至少定义了一个 CICS 区域,其中配置了 TP - 建立系统网络体系结构 (SNA) 连接所需的正确 VTAM PU、LU 和模式定义 |
CICS LU6.2 用户数据 | - IBM z/OS 2.3 或更高版本 - IBM CICS 5.2 或更高版本 - VTAM - 在 VTAM 的 APPL 语句中定义了至少一个 CICS 区域,其中配置了 TP - 建立 SNA 连接所需的正确 VTAM PU、LU 和模式定义 |
LU6.2 用户数据 | - IBM z/OS 2.3 或更高版本 - MVS/APPC 必须安装在大型机计算机上。 MVS/APPC 包括在操作系统中。 - IBM IMS 13.1 或更高版本 - IBM IMS 13.1 或更高版本(如果使用 2PC 协议 (同步点级别 2) - 如果使用 2PC 协议 (同步点级别 2) ,IBM 恢复资源服务 (RRS) 。 此外,必须在 VTAM 的 APPL 语句中定义正确的 IMS 控制区域。 |