请求处理中的控制流

要制定有关将使用的设施以及如何定制这些设施的决策,您需要了解 CICS® 业务逻辑接口的组件如何交互。 本主题描述处理程序的 LINK 调用所涉及的控制流以及处理面向终端的事务的请求所涉及的控制流。

使用 CICS 业务逻辑接口来调用程序

图 1 显示通过 CICS 业务逻辑接口到程序的控制流。 CICS 业务逻辑接口由 PROGRAM DFHWBBLI 的 LINK 命令访问。

图 1。 使用 CICS 业务逻辑接口调用程序-控制流
使用 CICS 业务逻辑接口控制流调用程序
  1. 针对 CICS 业务逻辑接口的请求到达。
  2. 如果调用者请求转换器,那么 CICS 业务逻辑接口会调用该转换器,并请求 Decode 函数。 解码 为 CICS 应用程序设置 COMMAREA。
  3. CICS 业务逻辑接口调用调用者指定的 CICS 应用程序。 传递到应用程序的 COMMAREA 是由译码设置的一个区域。 如果 CICS 业务逻辑接口的调用者指示不需要转换器,那么请求的前 32K 字节将传递到其 COMMAREA 中的 CICS 应用程序。
  4. CICS 应用程序处理请求,并在 COMMAREA 中返回输出。
  5. 如果调用者请求了转换器,那么 CICS 业务逻辑接口将调用转换器的 编码 函数,该函数使用 COMMAREA 来准备响应。 如果未调用转换器程序,那么 CICS 业务逻辑接口假定 CICS 应用程序已将预期响应放入 COMMAREA 中。
  6. CICS 业务逻辑接口将应答发送回调用者。

使用 CICS 业务逻辑接口来运行面向终端的事务

图 2 显示针对面向终端的事务的请求通过 CICS 业务逻辑接口的控制流。 请注意,业务逻辑接口在 CICS 镜像事务 (而不是 Web CICS 事务) 下运行。 处理的第一部分与调用程序相同,但如果要运行事务,必须在 wbbl_server_program_name中指定 DFHWBTTA 作为要调用的 CICS 应用程序。

图 2。 使用 CICS 业务逻辑接口运行事务-控制流
使用 CICS 业务逻辑接口控制流运行事务
  1. 如果调用者请求转换器,那么 CICS 业务逻辑接口会调用该转换器,并请求 Decode 函数。 译码为 DFHWBTTA 设置 COMMAREA。
  2. CICS 业务逻辑接口调用 DFHWBTTA。 传递到 DFHWBTTA 的 COMMAREA 是由译码设置的一个区域。 如果没有调用转换器程序,那么 COMMAREA 包含整个请求。
  3. DFHWBTTA 从 HTTP 请求中抽取面向终端的事务的事务标识,并启动运行 CICS Web 网桥出口的事务。
  4. 当程序尝试写入其主体设施时, CICS Web 网桥出口会拦截数据。 该出口构造返回到 CICS 业务逻辑接口的 HTML 响应。 如果调用者请求了转换器,那么 CICS 业务逻辑接口将调用转换器的 编码 函数,该函数使用 COMMAREA 来准备响应。 如果未调用转换器程序,那么 CICS 业务逻辑接口假定 COMMAREA 包含预期的响应。