应用程序入口点
应用程序入口点标识作为应用程序访问点的资源。 应用程序入口点用于控制用户对部署在平台上的不同应用程序版本的访问。 它们还可用于创建应用程序上下文,以监视应用程序的资源使用情况和识别正在运行的应用程序。 可以将 PROGRAM , URIMAP 和 TRANSACTION 资源声明为应用程序入口点。
对于部署在平台上的应用程序,应用程序入口点可控制用户对该应用程序的不同版本的访问权。 应用程序入口点可设置为对用户可用或不可用。 您可以随时在平台的 CICS® 区域中安装应用程序及其资源,然后启用 CICS 束以验证安装。 当您选择将应用程序版本提供给用户时,将使应用程序入口点以及这些入口点为应用程序控制的资源可供调用者使用。
- 一个应用程序的一个资源只能声明为应用程序入口点一次,并指定一项操作。 不能在相同资源上声明多个应用程序入口点。
- 每个操作名称在每个应用程序中都必须唯一。
- 操作名称区分大小写,因此您可以使用仅存在大小写差异的操作名称。
不必在与应用程序入口点相同的 CICS 束中定义应用程序入口点的资源。 当应用程序可用时, CICS 会将应用程序操作添加到指定的资源。 当应用程序入口点的资源和该入口点都定义为应用程序的一部分时,该入口点将控制对该资源所提供服务的访问权。 例如,定义为应用程序入口点的 TRANSACTION 在应用程序变为可用之前不能调用。
您可以声明在应用程序外部定义的资源的应用程序入口点。 资源不是应用程序的一部分,因此应用程序入口点不会改变资源提供的服务的可用性。 您还可以声明 PROGRAM 资源的应用程序入口点,该资源可以自动安装在将部署应用程序的 CICS 区域中。 安装应用程序时,如果应用程序入口点所针对的资源不存在且无法自动安装,那么将不会启用包含应用程序入口点声明的 CICS 束。
作为平台束的一部分安装或添加到正在运行的平台的 CICS 束不得包含应用程序入口点的声明。 直接安装在平台上的 CICS 束不支持应用程序入口点,在此情况下, CICS 不会启用应用程序入口点,尽管已安装 CICS 束及其资源。 直接安装在 CICS 区域中的独立 CICS 束可以包含应用程序入口点的声明,以启用区域级别策略的作用域限定。
可以在定义为应用程序入口点的资源上控制用户访问权。 如果应用程序包含任何未指定为应用程序入口点的公共资源,那么在安装并启用该应用程序时,无论该应用程序的可用性状态如何,这些资源均可由安装在平台上或 CICS 区域中的其他应用程序访问。 应用程序版本的专用资源不可由其他应用程序访问。
应用程序入口点还用于为任务创建应用程序上下文。 当任务调用具有应用程序入口点的资源时, CICS 会创建应用程序上下文并将其与该任务相关联。 应用程序上下文用于识别,装入和浏览平台上部署的应用程序的专用资源,将策略应用于任务以及监视多个 CICS 区域和任务中的应用程序所使用的资源。 有关应用程序上下文的信息,请参阅 应用程序上下文。
使用 CICS Explorer® 来声明应用程序的应用程序入口点,以及使应用程序可用或不可用,启用或禁用以及安装或废弃应用程序。 有关设置应用程序入口点的指示信息,请参阅 定义 CICS Explorer 产品文档中的应用程序入口点。
PROGRAM 资源作为应用程序入口点
声明为应用程序入口点的程序必须使用环境中唯一的 PROGRAM 资源名称。 要允许从应用程序外部调用这些程序,这些程序必须为公共资源。 当您使包含专用 PROGRAM 资源的应用程序入口点的应用程序可用时,指定为应用程序入口点的 PROGRAM 资源将从专用资源更改为公共资源。 CICS 区域中只能存在具有特定名称的公共资源的一个实例。 因此,专用 PROGRAM 资源不能与 CICS 区域中安装的公共程序同名,也不能与其他已安装的应用程序定义为应用程序入口点的公共程序同名。 但是,可以为同一应用程序的多个版本安装定义为应用程序入口点的同一专用 PROGRAM 资源的多个版本,因为 CICS 管理将专用 PROGRAM 资源提升为应用程序版本的公共状态。
- 如果您命名为应用程序入口点的 PROGRAM 资源是随应用程序打包的其中一个 CICS 束中定义的专用 PROGRAM 资源,那么 CICS 会检查 PROGRAM 资源是否与 CICS 区域中安装的公共程序同名,或者是否与另一个已安装并启用的应用程序定义为应用程序入口点的公共程序同名。
- 如果您命名为应用程序入口点的 PROGRAM 资源未在随应用程序打包的某个 CICS 束中定义,但尚未作为公共程序安装,那么 CICS 会尝试自动安装该程序,然后为应用程序保留该资源并为其启用应用程序入口点。 如果执行此操作,那么当您使应用程序版本不可用时,自动安装的程序将成为专用程序,因此可以对应用程序的未来版本执行相同的操作。
- 如果您命名为应用程序入口点的 PROGRAM 资源已安装为公共程序,那么 CICS 会检查另一个已安装且已启用的应用程序是否尚未将 PROGRAM 资源定义为应用程序入口点,然后为该应用程序保留公共程序,并为其启用应用程序入口点。 如果执行此操作,那么 CICS 无法自动管理应用程序未来版本的应用程序入口点,因为在应用程序之前安装的公共程序无法成为专用程序。 要将应用程序更新到新版本,您将需要禁用并废弃现有版本。 要避免此情况,可以安排由应用程序安装过程自动安装该公共程序,此时该程序可以变为专用程序,同时还允许安装未来的应用程序版本。 或者,您可以在随应用程序版本一起部署的其中一个 CICS 束中定义程序,确保它具有唯一的名称,从而使它成为专用程序。
当启用过程成功完成时,应用程序入口点处于 ENABLED 状态,但程序尚未通过其应用程序入口点对调用者可用。 当您使用 CICS Explorer使应用程序可用时, CICS 允许调用者通过其应用程序入口点访问应用程序,并使应用程序入口点的专用 PROGRAM 资源成为公共资源。 调用者可以使用 EXEC CICS LINK 命令来访问最高可用应用程序版本,也可以使用 EXEC CICS INVOKE APPLICATION 命令来指定任何可用应用程序版本。 如果同一应用程序的多个版本可用,那么最高应用程序版本的 PROGRAM 资源为公共资源,其他资源为专用资源。
当您使应用程序版本不可用时,应用程序入口点的 PROGRAM 资源将保留给应用程序,但这些资源不再可供调用者使用。 作为应用程序中定义的专用资源开始的任何 PROGRAM 资源,或者在启用过程中自动安装的任何 PROGRAM 资源,都将从公共程序更改回专用程序。 禁用应用程序版本时,不再为应用程序保留应用程序入口点的 PROGRAM 资源。 作为公共资源开始的任何 PROGRAM 资源都可供其他应用程序和调用者使用。
声明为应用程序入口点的程序将在 CICS生成的程序定义和 JVM 程序的公共和专用资源统计信息中进行标识和报告,因为虽然入口点可公开访问,但它也是应用程序的一部分。 对于装入程序域生成的程序统计信息,未标识应用程序入口点,仅写入一条专用程序统计信息记录。
您还可以在直接安装在 CICS 区域中的独立束中定义应用程序入口点,以便将区域级别策略的作用域限定为特定初始 PROGRAM 的 CICS 任务。 但是,在这种情况下, PROGRAM 提供的服务在您安装并启用 PROGRAM 资源后立即变为可用,并且不受定义应用程序入口点的捆绑软件的可用性控制。
TRANSACTION 资源作为应用程序入口点
声明为应用程序入口点的事务在环境中必须具有唯一的 TRANSACTION 资源名称。 TRANSACTION 资源可以在 CICS 束中定义并打包为应用程序的一部分,但不支持作为应用程序的专用资源,因此无法安装在多个应用程序版本中。 如果您打算同时部署应用程序的多个版本,那么在更新包含 CICS 束中定义的 TRANSACTION 资源的应用程序时,必须重命名应用程序的每个版本的 TRANSACTION 资源。
在 CICS 应用程序束中定义 TRANSACTION 资源时,可以使用应用程序入口点声明来控制用户对 TRANSACTION 资源提供的服务的访问权。 安装并启用应用程序时, TRANSACTION 资源提供的服务尚不可供调用者使用。 要使 TRANSACTION 资源提供的应用程序入口点和服务可供调用者使用,请使用 $TAG1 CICS EXPLORER $TAG2 使应用程序可用,从而使应用程序入口点和 TRANSACTION 资源可用。
如果 TRANSACTION 资源是在应用程序外部定义的,那么还可以将其声明为应用程序入口点。 在此情况下,只要安装并启用 TRANSACTION 资源,该服务就可供用户使用。
您还可以在独立束中定义应用程序入口点 (如果它们直接安装在 CICS 区域中) ,以允许将区域级别策略的作用域限定为特定 TRANSACTION 的 CICS 任务。 如果您希望应用程序入口点也控制对 TRANSACTION 资源提供的服务的访问,请在同一 $TAG1 CICS $TAG2 束中声明应用程序入口点和 TRANSACTION。 在这种情况下,直到捆绑软件可用之后, TRANSACTION 提供的服务才可供调用者使用。 如果应用程序入口点和 TRANSACTION 定义不在同一独立 $TAG1 CICS $TAG2 束中,那么启用 TRANSACTION 后, TRANSACTION 提供的服务将立即变为可调用。
不得将 CICS 系统事务定义为应用程序入口点。
作为应用程序入口点的 URIMAP 资源
声明为应用程序入口点的 URIMAP 资源在您的环境中必须具有唯一名称。 可以在 CICS 束中定义 URIMAP 资源并将其打包为应用程序的一部分,但不支持将其作为应用程序的专用资源,因此无法将其安装在多个应用程序版本中。 如果您打算同时部署应用程序的多个版本,那么当您更新包含 CICS 束中定义的 URIMAP 资源的应用程序时,必须重命名该应用程序的每个版本的 URIMAP 资源。
您还可以在独立束中定义应用程序入口点 (如果它们直接安装在 CICS 区域中) ,以便将区域级别策略的作用域限定为特定 URIMAP 资源的 CICS 任务。 如果您希望应用程序入口点也控制对 URIMAP 资源提供的服务的访问,请在同一 CICS 束中声明应用程序入口点和 URIMAP。 在此情况下,在捆绑软件可用之前, URIMAP 提供的服务不可供调用者使用。 如果未在同一捆绑软件中定义应用程序入口点和 URIMAP ,那么只要安装并启用 URIMAP 资源, URIMAP 提供的服务就会变为可用。