CICS 作为服务提供者

要使 CICS® 向外部服务请求者提供服务,它必须接收服务请求并将其通过管道传递到目标应用程序。 来自应用程序的响应将通过同一管道返回给服务请求者。

图 1 显示了一个架构和资源配置示例,当 CICS 是一个使用 Java 管道的服务提供商时,处理来自外部服务请求者的请求所需的架构和资源。

图 1。 服务提供者的体系结构和资源
该图显示向 CICS 应用程序发起请求的 CICS 区域外部的服务请求者。 在其中运行应用程序的 CICS 区域还包含 TCPIPSERVICE , URIMAP , PIPELINE 和 WEBSERVICE 资源; 管道及其处理程序和 JVM 服务器。

CICS 如何处理请求

要处理请求, CICS 必须执行以下操作:
  1. 接收来自服务请求者的请求。

    TCPIPSERVICE 资源指定入局请求的端口。 此端口受 CICS提供的套接字侦听器事务 (CSOL) 监视。

  2. 检查请求,并抽取与目标应用程序相关的内容。

    在相应端口上接收到请求消息时,将扫描 URIMAP 资源定义以查找其 USAGE 属性设置为 PIPELINE 的 URIMAP 定义,并将其 PATH 属性设置为请求中找到的 URI。 如果找到相应的 URIMAP 定义,那么将使用来自 URIMAP 定义的 PIPELINE 和 WEBSERVICE 属性的 PIPELINE 和 WEBSERVICE 定义。 URIMAP 定义的 TRANSACTION 属性确定应该连接以处理管道的事务的名称。 缺省情况下,将使用 CPIH 事务。 URIMAP 定义还标识要使用的 PIPELINE 和 WEBSERVICE 资源。 这些资源控制 CICS 执行的处理。

  3. 调用应用程序,传递从请求中抽取的数据。

    管道和应用程序处理程序中的消息处理程序将请求消息转换为服务提供者应用程序期望的应用程序语言结构。 程序将处理此输入并向应用程序处理程序返回响应。

  4. 使用应用程序返回的数据构造响应,并向服务请求者发送响应。

    应用程序处理程序和消息处理程序将从服务提供者应用程序接收到的响应消息转换为原始请求格式的消息。 此消息将发送回服务请求者。

如果管道配置得当,管道内的部分处理可通过 IBM®z Systems® Application Assist Processor (zAAP)来执行。 有关详细信息,请参阅 基于 Java 的 SOAP 管道