策略作用域

在 CICS® 束中定义策略。 策略作用域描述策略应用到 CICS 用户任务的方式。

策略将部署到特定作用域中。该作用域可以是区域作用域、平台作用域、应用程序作用域或操作(应用程序内)作用域。

以平台作用域部署策略时,它应用于平台内在其应用程序上下文中具有匹配平台的所有用户任务。使用应用程序作用域部署策略时,它应用于该平台内在其应用程序上下文中具有匹配平台、应用程序和应用程序版本信息的所有用户任务。 以操作作用域部署策略时,它只应用于同时匹配该操作的用户任务。

策略还可以与区域作用域一同部署,在此情况下,策略应用于正在该 CICS 区域中运行的所有用户任务。该方法在独立 CICS 区域 (SMSS) 中有用,您在其中无法定义平台和应用程序。

表 1. 策略作用域限定
有效策略作用域 策略规则应用对象 策略部署方式
 1 区域。 策略规则应用于您将策略部署到的 CICS 区域中运行的所有用户任务。 该策略部署为 CICS BUNDLE 资源,该资源在 CSD 或 CICSPlex® SM 数据存储库中定义并安装到任何 CICS 区域中。
 2 平台。 策略规则应用于平台内在其应用程序上下文中具有匹配平台的所有用户任务。 定义 CICS 平台项目时,将其添加到包含要部署到平台的策略定义的 CICS 束。如果您希望将策略部署到已经处于活动状态的平台,请将策略束导出到 zFS 中的平台主目录,然后使用 CICS Explorer® ADDBUNDLE 操作对话框将其安装到区域类型中。有关 ADDBUNDLE 操作对话框的更多信息,请参阅将 CICS 束添加至平台
 3 应用程序。 策略规则应用于平台内在其应用程序上下文中具有匹配平台、应用程序和应用程序版本信息的所有用户任务。 定义 CICS 应用程序项目时,将其添加到包含要部署到应用程序的策略定义的 CICS 束。或者,您还可以将 CICS 束与应用程序绑定一起部署,这取决于应用程序的体系结构。
 4 操作。 策略规则将应用于平台内在其应用程序上下文中具有匹配平台、应用程序和应用程序版本以及操作信息的所有用户任务。 首先,在 CICS 束中定义策略。然后,通过使用 CICS 清单编辑器编辑 CICS 束清单来定义应用程序入口点和策略作用域,从而定义操作的作用域限定。最终,将 CICS 束添加到 CICS 应用程序项目以进行部署。为操作定义策略作用域的 CICS 束不能随平台项目一起部署,或使用 ADDBUNDLE 操作对话框添加到已处于活动状态的平台。有关更多信息,请参阅定义策略作用域定义应用程序入口点
在将策略安装到 CICS 区域时,CICS 将其规则与该 CICS 区域中使用其他作用域部署的所有其他策略相组合,以确定应用于每个唯一运行时作用域的规则集。 使用不同作用域部署的策略规则可能适用于同一任务。您可以使用 CICS Explorer 中的 Cloud Explorer 视图以确定要应用于任务的策略规则集。例如:
  • 如果针对特定应用程序版本查询策略规则,那么将显示作用域  1  2  3  的策略规则的汇总。此规则集将应用于此应用程序版本的所有用户任务。
  • 如果针对应用程序的特定操作查询策略规则,那么将显示作用域  1  2  3  4  中应用的所有策略规则的汇总。此查询显示已应用于应用程序特定操作的任何其他策略,以及已应用于应用程序的策略规则。
  • 如果针对平台查询策略规则,那么将显示作用域  1  2  中应用的策略规则的汇总。 此查询显示已应用于所选平台上运行的所有应用程序任务的所有策略规则。这是在查询此平台上运行的特定应用程序(或应用程序操作)的策略规则时显示的策略规则的子集。
  • 类似地,如果针对区域类型查询策略规则,那么将显示作用域  1  2  中应用的策略规则的汇总。 此查询显示已应用于平台上此类型的区域中运行的所有应用程序任务的所有策略规则。
由于可以通过这种方式汇总策略规则,所以 CICS 保留大量策略规则集,如下所示:
  • 带有区域作用域的所有策略规则的集合。
  • 带有平台作用域的所有策略规则的集合;特定 CICS 区域所属的每个平台都有一个策略规则集。
  • 特定应用程序版本的所有策略规则的集合;CICS 区域中部署的每个应用程序版本都有一个策略规则集。
  • 某个应用程序版本的每个操作的所有策略规则的集合;某个应用程序版本的每个操作都有一个策略规则集。
在附加新的用户任务时,CICS 会将其中一个策略规则集与任务生存期内两个点中的一个点处的任务相关联:
  1. 在调用任务的初始程序时。此时,根据是否设置任务的应用程序上下文,CICS 将:
    • 如果设置了任务的应用程序上下文,那么 CICS 将应用其作用域与任务的应用程序上下文最匹配的策略规则集。CICS 将检查最佳匹配项,如下所示:
      1. CICS 首先检查其作用域与任务应用程序上下文中的平台、应用程序、应用程序版本和操作都匹配的规则集。
      2. 如果未找到匹配项,那么 CICS 将查找与任务应用程序上下文中的平台、应用程序和应用程序版本都匹配的规则集。
      3. 如果仍未找到匹配项,那么 CICS 将查找仅与平台名称匹配的规则集。
      4. 如果仍未找到匹配项,那么 CICS 将查找已应用于区域的规则集。
      5. 如果仍未找到匹配项,那么任务将在无任何策略规则的情况下执行。
      对于此任务的生存期的剩余时间内,这些是强制实施的策略规则。即使应用程序上下文发生更改,策略规则仍保持相同。
    • 如果未设置任务的应用程序上下文,那么 CICS 会仅将区域策略规则集(如果存在)与任务相关联。
  2. 在任务通过使用 EXEC CICS LINKXCTLINVOKE APPLICATION 调用应用程序入口点程序时。 如果在调用任务的初始程序时设置了应用程序上下文,那么任务的策略规则保持不变。 但是,如果在调用初始程序时未设置应用程序上下文,那么 CICS 将查找与任务的应用程序上下文相匹配的最佳策略规则集(如上所示),如果找到匹配项,那么此策略规则集将替换在调用初始程序时与任务相关联的任何区域范围的策略规则。这个新的规则集包括此类的任何区域范围规则。
有关应用程序上下文的更多信息,请参阅“产品”概述中的应用程序上下文

在任务执行期间,CICS 按照从最低阈值到最高阈值的顺序应用特定类型的策略规则。 在同一阈值处应用多个规则的情况下,CICS 首先处理消息操作规则,然后是事件操作规则,最后是异常终止操作规则。该方法确保在任务异常终止之前先发出消息和事件。