CICS LU6.2 链接编程模型是可用于实现 TI 功能的最简单模型之一。
下图汇总了客户端、默认 CICS 镜像事务和大型机事务程序之间发生的工作流。 括号中的数字指示事件发生的大致顺序。 事件的更详细说明在图后面。
交易集成器通过 CICS 镜像事务发送和接收带有 DPL 信息的参数。
CICS LU6.2 链接编程模型的摘要工作流图
CICS LU6.2 链接编程模型的工作原理如下:
应用程序在 TI 中调用方法。
TI 运行时调用 TI 代理。
TI 代理执行以下操作:
读取之前由 TI 设计器创建的程序集和元数据。
将 .NET Framework 数据类型映射到 COBOL 数据类型。
然后,TI 代理:
调用转换例程,将应用程序数据转换为大型机 COBOL 类型。
生成表示 COBOL 声明或 copybook 的平展数据流缓冲区。
将消息传递到 SNA 传输组件。
TI 使用 DPL 信息和 LU6.2 协议,将 TI 组件方法中指定的 TP 名称 CSMI 请求发送至 CICS 镜像事务。 (IBM 在 TI 先决条件系统上向 CSMI 提供 CICS。)
CICS 镜像事务是一种特殊的 CICS 事务处理程序,充当在不同 CICS 区域中运行的事务处理程序之间的网关,从而允许它们通过通信区交换数据。 TI 通过利用 CICS 事务处理器间的标准化通信方法来访问大型机事务处理器。 CSMI 处理通信所需的所有 APPC 和事务属性。 此 TP 的 TRANID 是 CSMI。
分布式程序链接(DPL)是与 CSMI 通信时使用的协议。 TI 使用 DPL 与 CSMI 通信。
CSMI (CICS 镜像事务)控制并向 CICS 中请求的服务器 TP 发出 EXEC CICS Link 命令。 此程序的名称可以与远程环境(RE)以及 TI Designer 中的方法名称相关联。
CICS 镜像事务将包含输入字段的 COMMAREA 传递给服务器 TP。
COMMAREA 是一个最多 32 KB 的通信区域,其中包含传入和传出大型机程序的所有数据。 许多以 COBOL 编写的 CICS TP 使用此大型机事务代码区域来交换数据。 在使用 LU6.2 编程模型进行 CICS 链接时,TI 对大型机 TP 而言就像是另一个通过 COMMAREA 交换数据的 CICS TP。
服务器 TP 是 TI 代表客户端应用程序调用的 TP。 它包含正在执行的业务逻辑,并由其 TRANID 在客户端应用程序的方法调用中标识。
注释
使用术语“服务器 TP”来标识 TI 正在访问的 TP。 此说明是必需的,因为对大型机应用程序的访问可能且通常涉及许多 TP。
服务器 TP 完成处理后,会发出 EXEC CICS RETURN 命令,该命令会将 COMMAREA 中的数据返回到 CICS 镜像事务,并更新所有输出字段。
CICS 镜像事务将输出数据(如果需要)返回到 TI。
TI 代理接收回复数据并处理回复。 TI 自动化代理:
从 SNA 传输组件接收消息。
读取消息缓冲区
TI 自动化代理:
将 COBOL 数据类型映射到 .NET Framework 数据类型
调用转换例程,将大型机 COBOL 类型转换为应用程序数据
TI 运行时将转换后的数据发送回调用该方法的 COM 或 .NET Framework 应用程序。
只有 CICS 链接支持流模型,因此此类 TP 不支持未绑定的记录集。 支持固定大小的记录集(即绑定记录集)。
CSMI 还处理与 TI 的任何同步级别 2 交互,从而透明地为此类中的程序提供 2PC 功能。
现有的 CICS 程序可能已按这种方式进行结构化。 TI本应发出LU 6.2请求,但另一个CICS TP可能已经发出EXEC CICS Link来运行上图中显示的CICS程序。 在这种情况下,现有的 CICS TP 和 TI 组件都可以共存并运行相同的 CICS 程序。
注释
CSMI 是默认的镜像事务名称,但可以指定其他名称。
Host Integration Server 包含演示如何实现 CICS LU6.2 链接编程模型的示例代码。 示例代码位于 \installation directory\SDK\Samples\AppInt。 开始Microsoft Visual Studio,打开要使用的教程,并按照自述文件中的说明进行操作。
另请参阅
事务集成器组件
将数据类型从自动化转换为 z/OS COBOL]
将数据类型从 z/OS COBOL 转换为自动化
CICS 组件
TI 运行时
选择适当的编程模型
编程模型