应用程序版本的专用资源
在将 CICS 束中的某些 CICS® 资源定义为安装在平台上的应用程序的一部分时,这些资源是该应用程序版本的专用资源。 因此您可以使用相同的名称在同一个平台实例上同时安装这些类型的多个资源。
对于受支持的资源类型,如果在打包并安装为应用程序的 CICS 束中定义了 CICS 资源 (作为应用程序束的一部分或作为应用程序绑定的一部分) ,那么该资源是专用资源。 以此方式创建 CICS 资源时,该资源不可用于平台上安装的任何其他应用程序或版本,并且不可用于 CICS 区域中的其他应用程序。 它只能由定义资源的应用程序版本使用。 这些资源称为专用资源。
- LIBRARY 资源表示一个或多个数据集 (称为动态程序 LIBRARY 并置) ,可从中装入程序装入模块。
- PACKAGESET 资源,表示 Db2® 集合,用于限定 Db2 数据库中未限定的 EXEC SQL 请求所引用的表。
- POLICY 资源,表示用于管理 CICS 区域中用户任务行为的一个或多个规则。
- PROGRAM 资源,表示应用程序。 由部署在平台上的应用程序的任务自动安装的程序也是该应用程序版本的专用程序。
作为应用程序的一部分定义的其他资源类型的 CICS 资源以及由任何其他方法定义的 CICS 资源可公开用于所有任务。 这些资源被称为公共资源。 在只有单个版本的应用程序中,当应用程序入口点可用时,声明为应用程序入口点的专用资源将成为公共资源。 对于多版本应用程序,如果应用程序是最高可用版本,那么声明为应用程序入口点的程序是公共程序。 声明为同一应用程序的其他版本的应用程序入口点的程序是私有的。
如果您不希望受支持资源类型的资源是专用资源,请不要将资源定义打包为应用程序的一部分。 而是使用独立 CICS 束,安装在平台级别的 CICS 束, CICS CSD 或 CICSPlex ® SM 数据存储库来定义 CICS 资源。 如果应用程序要求 CICS 资源在 CICS 区域可用,则应在捆绑包清单的 <import> 元素中将该资源添加为应用程序或应用程序绑定的依赖项。
POLICY 和 PACKAGESET 资源 (只能在 CICS 束中定义) 在作为应用程序一部分部署的 CICS 束中进行定义时具有与专用资源相同的支持。 因此,可以在不同的应用程序和应用程序版本中使用同名的 POLICY 和 PACKAGESET 资源。
专用资源与应用程序的特定版本相关,而不仅仅是特定应用程序。 因此,它们允许在同一平台实例上同时安装应用程序的多个版本。 有关应用程序的多版本控制的更多信息,请参阅 平台上部署的应用程序的多版本控制。
管理应用程序的专用资源
在作为应用程序一部分打包和安装的 CICS 束中定义专用资源时,资源名称在安装中不必唯一。 您可以使用此工具来避免独立开发但使用相同资源名称的应用程序之间的资源名称冲突。 通过在平台上部署的应用程序中管理资源,可以除去对受支持 CICS 资源的唯一资源名称的需求。 您可以使用此过程来帮助进行服务器整合。
更改应用程序时,使用 CICS Explorer® 来修改打包在 CICS 束中的应用程序的相关元素,将新版本号应用于这些 CICS 束以标识更改,然后重新版本并重新安装应用程序。 将任何未修改的 CICS 束保留为与以前相同的版本号,因为 CICS 将管理具有相同标识和版本号的 CICS 束的多个安装过程。
重新安装未修改的 CICS 束仅可用于作为部署在平台上的应用程序的一部分安装的 CICS 束。 如果独立 CICS 捆绑软件已使用相同的标识和版本进行安装,或者在 CICS TS 版本 5.1之前的发行版中创建的 CICS 捆绑软件未使用标识和版本进行安装,那么无法重新安装这些捆绑软件。 但是,同一 CICS 束可以作为独立 CICS 束安装在 CICS 区域中,也可以作为部署在平台上的一个或多个应用程序的一部分进行安装和重新安装。
在专用资源上执行诸如安装和废弃之类的操作时,将发出特殊 CICS 消息。 这些消息提供的信息与针对该类型公共资源的相应操作的信息相同,但它们还会说明专用资源所应用于的平台,应用程序和应用程序版本,以便您可以对相关上下文中的操作进行审计或故障诊断。
要查看应用程序的每个已安装版本的专用资源,请使用 CICS Explorer。 在应用程序描述符编辑器中,可以按资源类型查看应用程序的专用资源和应用程序入口点,并按 CICS 区域或按 CICS 束对其进行过滤,以帮助找到特定资源。 您还可以查看 z/OS® 为专用 LIBRARY 资源的数据集 LIBRARY 并置生成的 DD 名称。
您可以使用针对资源类型的 EXEC CICS INQUIRE 系统编程命令来查询或浏览专用资源。 缺省情况下, CICS 将搜索可用于发出 EXEC CICS INQUIRE 命令的程序的资源。 您还可以选择浏览指定应用程序的专用资源。
- 从公共程序发出 EXEC CICS INQUIRE 命令时,将返回有关指定公共资源的信息。 如果该资源不可用作公共资源,那么将返回
找不到
响应。 - 从正在平台上部署的应用程序的任务下运行的程序发出 EXEC CICS INQUIRE 命令时,将返回有关该应用程序的指定专用资源 (如果存在) 的信息。 如果应用程序没有具有该名称的专用资源,那么将返回有关具有指定名称的公共资源的信息。 如果该资源不可用作该应用程序的专用资源或公共资源,那么将返回
找不到
响应。 - 从公共程序以浏览方式使用 EXEC CICS INQUIRE 命令时,如果未指定任何其他输入参数,那么将返回指定类型的公共资源集。 如果从在平台上部署的应用程序的任务下运行的程序发出相同的浏览命令,那么浏览将返回由应用程序的指定类型的任何专用资源以及指定类型的公共资源组成的一组资源。
- 要从公共程序或专用程序浏览应用程序的专用资源,请发出带有 START 选项的 EXEC CICS INQUIRE 命令,并指定由平台,应用程序和应用程序版本组成的应用程序上下文作为输入。 浏览将返回一组仅由应用程序的指定类型的专用资源组成的资源。 如果找不到具有指定应用程序上下文的应用程序,那么将返回 APPNOTFOUND 条件。
要在 CICSPlex SM 实时分析 (RTA) 函数中支持专用资源,必须在资源的评估定义 (EVALDEF) 中指定应用程序上下文参数 PLATFORM , APPLICATION , APPLMAJORVER , APPLMINORVER 和 APPLMICROVER。 有关使用用户定义的 CICSPlex SM WUI 视图和资源对象创建和维护实时分析定义的指示信息,请参阅 实时分析。
CICS 为专用资源生成单独的统计信息记录。 专用资源的统计信息记录包含有关为其定义资源的应用程序的信息。 公共程序和库资源的统计信息 DSECT 和 DFHSTUP 报告具有专用资源的相应 DSECT 和 DFHSTUP 报告。 已声明为应用程序入口点的程序将在公共和专用统计信息中进行标识和报告,因为虽然入口点可公开访问,但它也是应用程序的一部分。
作为依赖关系的专用资源
在打包为平台上部署的应用程序的一部分的 CICS 束中,可以将公共或专用资源定义为依赖关系,包括由应用程序自动安装的专用程序。 CICS 首先检查与 bundle 相同的应用程序中是否有指定类型和名称的私有资源,该资源在 bundle 清单文件中包含 <import> 元素。 CICS 如果安装了多个版本的应用程序,那么当前应用程序上下文会确定导入的专用资源的版本。 如果找不到该资源作为应用程序的专用资源,那么 CICS 会在 CICS 区域中检查与指定类型和名称匹配的公共资源,并导入该资源。 您不能从其他应用程序导入专用资源。
专用 LIBRARY 资源
LIBRARY 资源表示可从中装入程序装入模块的一个或多个数据集 (称为动态程序 LIBRARY 并置)。 支持 LIBRARY 资源作为应用程序版本的专用资源。 应用程序的每个版本都应包含至少一个专用 LIBRARY 资源,该资源表示包含应用程序的装入模块的特定于版本的数据集。
- 当部署在平台上的应用程序的任务需要程序装入时,将首先搜索为该应用程序版本定义的专用 LIBRARY 并置,以便装入正确版本的程序。 如果为同一应用程序版本定义了多个 LIBRARY 并置,那么将按它们的排名顺序对它们进行搜索。
- 如果应用程序中未定义 LIBRARY 并置,或者在任何专用 LIBRARY 并置中找不到程序,那么将搜索为整个 CICS 区域 (包括 DFHRPL) 定义的公用 LIBRARY 并置。
- 对于未与平台上部署的应用程序关联的任务,仅搜索公共 LIBRARY 并置,因此驻留在专用 LIBRARY 并置中的所有程序装入模块不可用。
如果禁用了应用程序的任何专用 LIBRARY 并置,因为禁用了定义相关 LIBRARY 资源的 $TAG1 CICS $TAG2 束,那么 $TAG3 CICS $TAG4 不会搜索任何其他专用 LIBRARY 并置,也不会搜索为整个 CICS 区域定义的任何公用 LIBRARY 并置。 因此,在启用定义 LIBRARY 资源的 CICS 束之前,应用程序的所有后续程序装入都将失败。
对于打包并安装为应用程序束或应用程序绑定束的一部分的 CICS 束中定义的专用 LIBRARY 资源, LIBRARY 资源的名称不会用作数据集 LIBRARY 并置的 DD 名称。 相反,当应用程序安装在平台上时, CICS 会请求数据集的 LIBRARY 并置的唯一 DD 名称。 因此,资源名称可以与安装中其他位置使用的 LIBRARY 名称相同,也可以由应用程序的不同版本使用。 CICS 发出消息 DFHLD0518 以说明 z/OS 为 LIBRARY 并置生成的 DD 名称。 您还可以在 CICS Explorer中查看已安装应用程序的数据集名称。
专用 PACKAGESET 资源
专用资源 PACKAGESET 表示 Db2 集合。 PACKAGESET 资源具有单个属性 name ,它是 Db2 集合标识的名称,最大长度为 128 个字节。 通过允许 CICS 代表应用程序发出 EXEC SQL SET CURRENT PACKAGESET 命令,使用 PACKAGESET 在不同环境中指定不同的集合标识。 此资源使云环境中的数据处理更轻松,更灵活。
- 作为应用程序或应用程序绑定的一部分安装的 PACKAGESET 资源。 通过将 PACKAGESET 资源作为应用程序绑定的一部分进行安装,可以在不同环境中使用不同的集合标识,而无需更改应用程序捆绑软件。 例如,测试,质量保证和生产环境都可以将应用程序与不同的 PACKAGESET 资源相关联,并因此与不同的集合标识相关联。 如果 PACKAGESET 资源是作为应用程序 (而不是其应用程序绑定) 的一部分安装的,那么将在所有环境中使用相同的 PACKAGESET 资源,因此将在所有环境中使用相同的集合标识。
- 作为平台一部分安装的 PACKAGESET 资源。 通过关联此 PACKAGESET 资源,平台上运行的所有应用程序都将使用相同的 PACKAGESET 资源,因此将使用相同的集合标识。
当 CICS-Db2 连接设施处理工作单元的第一个 SQL 请求时,该设施会检查是否存在应用于该任务的 PACKAGESET 资源。 首先,它会检查是否定义了 PACKAGESET 资源,其作用域与任务的应用程序上下文中的平台,应用程序和版本相匹配。 如果不是,那么该设施将检查是否为平台上的所有应用程序定义了 PACKAGESET 资源。 如果存在 PACKAGESET 资源,那么 CICS-Db2 连接设施会链接到 CICS提供的程序 DFHD2SPS,以在处理来自应用程序的第一个 SQL 请求之前发出 EXEC SQL SET CURRENT PACKAGESET 命令。
对于后续 SQL 请求,除非应用程序上下文发生更改,否则不需要进行其他处理。 如果应用程序上下文已更改,那么 CICS-Db2 连接设施会链接到 DFHD2SPS ,以设置新的程序包集名称,或者如果新上下文未定义 PACKAGESET 资源,那么设置空白程序包集名称。 应用程序上下文可以更改的示例是 EXEC CICS LINK 命令已发出到新应用程序中,或者 EXEC CICS LINK 调用返回到调用应用程序时。
在同步点时, CICS-Db2 连接设施链接到 DFHD2SPS ,以将 PACKAGESET 资源重置为空白。
DFHD2SPS 在 L8 开放式 TCB 上作为并行 (REQUIRED) , API (CICSAPI) , EXECKEY (CICS) 程序运行。 它是从 CICS-Db2 TRUE DFHD2EX1(通常在 L8 TCB 上运行) 链接到的,因此不会产生 TCB 切换开销。 但是,对于 Java 程序和 XPLINK C® 程序, DFHD2EX1 分别在 T8 或 X8 TCB 上运行,因此在调用 DFHD2SPS 时,TCB 会切换到 L8 TCB,然后再切换回来。
PACKAGESET 资源为可选项,用于管理不同环境之间的不同集合的现有机制仍然可用 ,例如,多计划、动态计划出口或自行在应用程序中设置包集合。
仅使用捆绑软件定义的 PACKAGESET 资源作为应用程序的一部分,通常通过应用程序绑定。 任何尝试安装包含不在应用程序或平台中的 PACKAGESET 资源的独立捆绑软件都将失败。
专用 POLICY 资源
POLICY 资源表示一个或多个规则,用于管理 CICS 区域中用户任务的行为。 策略是包含一个或多个具有关联阈值和操作的规则类型的 XML 定义。 策略规则描述可以应用于一个或多个任务的控制或操作。 条件和操作对构成策略规则,并且可以在策略中定义一个或多个策略规则。 策略是在 CICS 束中定义的, CICS 束可以由一个或多个策略组成。
当运行的任务数超过定义的资源使用阈值时,CICS 会执行策略内指定的操作。 您可以部署策略以监视用户任务的资源利用率,并在资源利用率超过您定义的阈值时自动响应。 只要任务通过发出 EXEC CICS 命令将控制权移交给 CICS ,就可以检测并适当处理过多的资源使用情况以及循环和失控事务。
策略始终在 CICS 束中定义,这些束始终部署到特定作用域。 作用域可以是应用程序,应用程序内的操作或平台。
策略定义有关您希望应用程序或系统的各个方面的行为方式的合同。 策略适用于用户任务的实例,不同任务组可以共享一组公共策略,从而允许以不同方式控制工作负载的各个部分。 与应用程序或平台中运行的任务相关联的策略规则集合定义了任务可以安全执行的边界。 它们允许系统管理员预先设置对用户应用程序行为的限制。 通过这种方式,策略使 CICS 能够度量,响应和强制执行任务的行为,这些任务会在策略中定义的适用于这些任务的任何规则执行时对这些规则进行超越。
有关策略的更多信息,请参阅 CICS 策略。
专用 PROGRAM 资源
PROGRAM 资源表示存储在程序库中的程序装入模块。 PROGRAM 资源作为应用程序版本的专用资源受支持。 由部署在平台上的应用程序的任务自动安装的程序也是该应用程序版本的专用程序。
- 要共享从同一 PDS 或 PDSE 装入的同一程序的多个应用程序必须在 PROGRAM 资源定义中使用相同的属性。
- 如果多个应用程序对不同的程序资源使用相同的名称,那么每个应用程序都必须从不同的数据集 (PDS 或 PDSE) 装入程序。
如果在应用程序的专用程序目录中找不到应用程序所需的程序,那么 CICS 将搜索公共程序目录。
当 EXEC CICS LINK, XCTL, LOAD和 RELEASE 命令由正在平台上部署的应用程序的任务下运行的程序发出时, CICS 首先在应用程序的专用程序目录中搜索指定的程序。 如果在其中找不到指定的程序,那么 CICS 将搜索公共程序目录。
声明为应用程序入口点的程序必须使用环境中唯一的 PROGRAM 资源名称。 要允许从应用程序外部调用这些程序,这些程序必须为公共资源。 当您使包含专用 PROGRAM 资源的应用程序入口点的应用程序可用时,指定为应用程序入口点的 PROGRAM 资源将从专用资源更改为公共资源。 CICS 区域中只能存在具有特定名称的公共资源的一个实例。 因此, PROGRAM 资源不能与 CICS 区域中安装的公共程序同名,也不能与其他已安装的应用程序定义为应用程序入口点的公共程序同名。 但是,可以为同一应用程序的多个版本安装定义为应用程序入口点的同一 PROGRAM 资源的多个版本,因为 CICS 管理将 PROGRAM 资源提升为应用程序版本的公共状态。