将 RRMS 与外部 CICS 接口配合使用

您可以使用 z/OS® 可恢复资源管理服务 (RRMS) 来协调分布式程序链接 (DPL) 请求。

要使用 RRMS 来协调 DPL 请求,请确保满足以下条件:
  • EXCI 客户机及其向其发送 DPL 请求的 CICS® 区域在同一 z/OS 映像中运行。 这是 RRMS 限制,不适用于指定 SYNCONRETURN 的 DPL 请求。
  • 接收 DPL 请求的 CICS 区域是在 RRMS=YES 指定为系统初始化参数 (缺省值为 RRMS=NO) 的情况下启动的。
  • 资源回收服务(RRS)在 z/OS 映像中运行,该映像中同时运行着 CICS 和客户端程序。 参见 z/OS MVS 编程:资源回收

下图显示外部 CICS 接口和 CICS 如何使用 RRMS。 它显示包含外部 CICS 接口和 EXCI 客户机程序的 z/OS 批处理区域与包含 CICS 镜像和 CICS 应用程序的 CICS 服务器区域之间的流。 图中的数字是指在图后列出的恢复单元 (UR) 中的主要步骤。

图 1。 使用 RRMS 的 EXCI 客户机和 CICS 服务器区域的概念性视图
图在周围文本中描述
  1. 如果指定了 CICS 系统初始化参数 RRMS=YES ,那么 CICS 将向 RRMS 注册为资源管理器。 此注册在 CICS 初始化期间进行。
  2. 当 EXCI 客户机程序以 2 阶段落实方式 (省略 SYNCONRETURN 选项的调用) 发出 DPL_Request 调用时,它将从 RRMS 接收以下内容:
    • 恢复单元标识 (URID)
    • 上下文令牌
    • 传递令牌
  3. 由 EXCI 代表客户机程序获取的 URID 和令牌包含在传递到 CICS 服务器区域的 DPL 请求中。 如果 DPL 请求是 UR 中的第一个请求,那么 CICS 会调用 RRS 以表示对 UR 的兴趣,连接新的镜像事务并验证令牌。 如果请求有效,那么镜像程序将链接到指定的服务器应用程序。 服务器程序完成其工作,这全部在 UR 中执行。 此工作可以包括更新本地服务器区域中的可恢复资源,或者通过菊花链连接到其他 CICS 区域。
  4. 当服务器程序完成时,它会将通信区 (COMMAREA) 或通道和容器 (带有返回码) 返回到客户机程序。
    注: 步骤 3 和 4 可以针对同一 UR 重复多次。
  5. 当 EXCI 客户机程序准备好落实或回退其更改时,该程序将调用 RRS 以开始 2 阶段落实协议。
  6. RRS 充当协调程序并完成下列其中一项操作:
    • RRS 要求资源管理器准备落实 UR 中的所有更新。 CICS 服务器区域以外的资源管理器也可能表示对 UR 感兴趣。 如果全部投赞成票, RRS 会告诉他们继续进行并落实更改。 如果有任何投票反对, RRS 会告知所有资源管理器回退 UR 中所做的所有更改。
    • RRS 告知所有表示对 UR 感兴趣的资源管理器回退 UR 中所做的所有更改。
    UR 现已完成, CICS 将拆离镜像任务。 如果 EXCI 客户机在此时之后发送任何新的 DPL 请求,那么 EXCI 将启动新的 UR ,并且 CICS 将连接新的镜像事务。

指定 SYNCONRETURN 选项的每个 DPL 请求都会在目标 CICS 区域中附加新的镜像任务。 未指定 SYNCONRETURN 的第一个 DPL 请求也会附加新的镜像任务,但后续请求将定向到同一镜像任务。 发生同步点时,镜像任务结束,下一个非 SYNCONRETURN 请求将连接新的镜像。 请参阅 图 2。 在此图中, z/OS 客户机应用程序使用和不使用 SYNCONRETURN 发出 DPL 请求。 图上的数字指的是主体流,如图后所列。

图 2。 将 DPL 请求与 SYNCONRETURN 选项混合使用以及不使用 SYNCONRETURN 选项的效果
图在周围文本中描述
  1. 客户机发出不带 SYNCONRETURN 选项的 DPL 请求。

    由于没有镜像事务正在运行,因此将连接新的镜像 (镜像 1)。

  2. DPL 请求完成,并且由于发出该请求时未指定 SYNCONRETURN 选项,因此镜像事务将等待另一个请求。
  3. 客户机使用 SYNCONRETURN 选项发出 DPL 请求。

    已连接新的镜像事务 (镜像 2)。

  4. 完成 DPL 请求后,将落实由镜像事务更新的资源,并且镜像事务将结束。
  5. 客户机在不使用 SYNCONRETURN 选项的情况下发出另一个 DPL 请求。 镜像 1 接收并执行 DPL 请求。
  6. DPL 请求完成,并且镜像事务再次等待另一个请求。
  7. 客户机使用 SYNCONRETURN 选项发出 DPL 请求。

    已连接新的镜像事务 (镜像 3)。

  8. 完成 DPL 请求后,将落实由镜像事务更新的资源,并且镜像事务将结束。
  9. 客户机程序请求同步点。 已落实由镜像 1 更新的资源,并且事务已结束。