更新应用程序

对应用程序组件的 CICS® 束进行更改时,需要更新 CICS 束、应用程序和应用程序绑定的版本,然后将新版本部署到平台上。

开始之前

确保与应用程序相关的所有项目都出现在 CICS Explorer® 的本地工作空间中,包括目标平台的平台项目。CICS Explorer 需要平台项目,以便验证应用程序项目和应用程序绑定项目。

要更新应用程序,您需要编辑应用程序项目以及应用程序绑定项目。如果没有版本受控的备份系统支持您还原到项目的先前版本,那么您可能更愿意将现有项目复制为另一项目,然后编辑新的副本,而不是如这些指示信息中所述直接编辑现有项目。

使用平台上部署的作为专用资源受到支持的 CICS 资源的应用程序以及使用为该应用程序设计的其他资源的应用程序和使用带有导入资源的应用程序都具备实现多版本控制的资格。以下资源作为多版本控制应用程序的一部分受到支持:
  • 属于应用程序的在 CICS 束中定义的 PROGRAM 资源
  • 属于应用程序的在 CICS 束中定义的 LIBRARY 资源
  • 策略
  • 应用程序入口点的语句
  • 针对应用程序定义为依赖性或导入的任何资源

如果您的应用程序只使用这些资源,那么您可以同时在同一平台上安装并提供多个可用应用程序版本。如果您的应用程序使用的资源不受多版本控制支持,那么必须先禁用并废弃现有版本的应用程序,然后安装新版本。 或者,考虑重命名多版本控制不支持的资源,从而使它们不会与针对先前应用程序版本安装的资源相冲突。

如果必须禁用应用程序以安装新版本,那么用户在以下时间段内无法使用该应用程序:从使先前应用程序版本变为不可用以禁用并废弃 CICSplex 中已安装的 APPLCTN 资源时开始,到安装新的 APPLDEF 资源定义,启用新的应用程序版本并使其可用时结束。规划可以安全进行该操作的适当时间,或者在该时间内为应用程序用户规划备用解决方案。

关于此任务

您可以使用版本控制来管理不同版本的应用程序。每个 CICS 束、应用程序束和应用程序绑定都具有用于对其进行唯一识别的标识和版本信息。版本使用 major、minor 和 micro 标识,以便指示更改的重要性并管理不同束之间的依赖性。该原理称为语义版本控制,是从 OSGi 联盟借鉴的。尽管它重点针对 Java™ 包,但是您可以使用相同的原则在广义上应用于束。

语义版本控制一种方法来对版本的 major、minor 或 micro 部分进行增量,以指示与上一个版本的束之间的兼容性或不兼容性。例如,错误修订将对版本的 micro 部分进行增量, 兼容更改将对版本的 minor 部分进行增量,而不兼容更改将对版本的 major 部分进行增量。有关语义版本控制的更多信息,请参阅语义版本控制技术白皮书

您必须对 CICS 束、应用程序束和应用程序绑定应用版本控制策略,以便在 CICS 环境中部署和管理更新。您不能使用某个应用程序束的现有版本来部署此应用程序的 CICS 束的新版本,也不能将应用程序绑定的现有版本与应用程序束的新版本一起使用。每当更新应用程序的 CICS 束时,就必须更新应用程序束和应用程序绑定的版本。

更改应用程序的版本时,根据语义版本控制的原则,新版本应反映包含在应用程序中的 CICS 束的最高级别更改。例如,您可能将应用程序的一个 CICS 束从 V1.0.1 更改为 V1.0.2(这是微版本更改),将应用程序的另一 CICS 束从 V1.2.0 更改为 V1.3.0,而这是次要版本更改。包含这两个 CICS 束的应用程序束应该具有次要版本更改,因此,如果应用程序先前为 V2.5.1,那么它应该更改为 V2.6.0。

结果

这样应用程序的新版本就已部署到平台中。 包含在应用程序新版本中的 CICS 束安装在相应的 CICS 区域中,在 CICS 束内定义的资源将在 CICS 区域中动态创建。

当您使得新版本的应用程序可用时,CICS 允许调用者通过其应用程序入口点来访问该应用程序版本,入口点可以是 PROGRAM 或 URIMAP 资源。对于多版本控制支持的应用程序,如果多个版本可用,那么调用者可以访问可用应用程序的最高版本,或使用 EXEC CICS INVOKE APPLICATION 命令来指定任何可用的应用程序版本。