将 CICS 束中的 Enterprise Java 应用程序部署到 Liberty JVM 服务器

您可以在 Liberty JVM 服务器中部署打包为 CICS® bundle 的 Enterprise Java 应用程序。

开始之前

企业 Java 应用程序 (以 Web 应用程序归档 (WAR) 文件,企业应用程序归档 (EAR) 文件或企业捆绑软件归档 (EBA) 文件的形式) 必须部署为 zFS中的 CICS 捆绑软件。 必须在 CICS 区域中启用目标 JVM 服务器。

有关使用 IBM® CICS SDK for Java 或 IBM CICS SDK for Enterprise Java (Liberty) 创建 Java™ 应用程序的详细信息,请参阅使用 IBM CICS SDK 开发应用程序

有关使用 Gradle 或 Maven 创建 Java 应用程序的更多信息,请参阅 使用 Gradle 或 Maven 管理 Java 依赖关系

如果您依赖于包含公共代码库的 OSGi 捆绑软件,请将该捆绑软件安装到 Liberty 捆绑软件存储库中,请参阅 在 JVM 服务器中部署 OSGi 捆绑软件

关于此任务

CICS 应用程序模型用于打包 CICS 束中的 Java 应用程序组件,并将它们部署到 zFS。 通过安装 CICS 束,您可以管理应用程序组件的生命周期。

Enterprise Java 应用程序可以包含。
  • 一个或多个 WAR 文件,用于提供应用程序的表示层和业务逻辑。
  • 导出到 EBA 文件的 OSGi 应用程序项目。 EBA 文件可以包含支持 Web 的 OSGi 捆绑软件项目 ,以提供表示层以及提供业务逻辑的一组进一步的 OSGi 捆绑软件。
  • EAR 文件,包含一个或多个提供表示层和业务逻辑的 WAR 文件。
如果您正在使用 CICS Explorer: 您可以通过遵循本主题中的指示信息,使用 CICS Explorer 中的 IBM CICS SDK for Enterprise Java (Liberty) 来部署束。
如果您使用 Gradle 或 Maven: 您可以使用 CICS 提供的 GradleMaven 插件将应用程序打包并部署到 CICS 捆绑包中,前提是 CMCI JVM 服务器配置为使用其工作原理: CICS 捆绑包部署 API CICS 捆绑包部署 API。

教程将逐步说明如何从 Gradle 或 Maven 已构建的现有 Java 应用程序中构建 CICS bundle。

过程

  1. 在 zFS中创建用于指定捆绑软件目录的 BUNDLE 资源。 创建 BUNDLE 资源会导致安装所有关联的 BUNDLEPART。
    将 WAR , EAR 或 EBA BUNDLEPART 安装到 Liberty JVM 服务器时,会将应用程序元素添加到 ${server.config.dir}installedApps.xml,并将应用程序文件从 BUNDLEDIR 复制到 ${server.config.dir}/installedApps 目录中。 可以通过以下接口创建 BUNDLE 资源。
    1. 在 CICS Explorer 中的 CICS SM 透视图中,单击 CICS Explorer 菜单栏中的定义 > 捆绑包定义以打开捆绑包定义视图。
    2. 右键单击视图中的任何位置,然后单击 新建 以打开 "新建捆绑软件定义" 向导。
      在向导字段中输入 BUNDLE 资源的详细信息。
    3. 安装 BUNDLE 资源。
  2. 可选: 启用 BUNDLE 资源以在 Liberty 服务器中启动 Enterprise Java 应用程序 (如果该资源是在 DISABLED 状态下创建的)。 当捆绑软件为 ENABLED 时,将启动 Liberty 应用程序。
  3. 查询 BUNDLE 资源以检查捆绑软件资源的状态。
    • 当 BUNDLE 资源处于 ENABLED 状态时, CICS 将启动束中的所有资源。 当捆绑软件中包含的一个或多个 Liberty 应用程序仍在安装或启动时, BUNDLE 仍处于 ENABLED 状态。
    • 当 BUNDLE 资源处于 ENABLED 状态时, CICS 将成功启动束中的所有资源,并且将启动束中包含的所有 Liberty 应用程序。
    • 当 BUNDLE 处于禁用状态时, $TAG1 CICS $TAG2 将停止束中的所有资源。 当捆绑软件中包含的一个或多个 Liberty 应用程序仍在停止时, BUNDLE 将保持处于禁用状态。
    • 当 BUNDLE 资源处于 DISABLED 状态时, CICS 停止了束中的所有资源,或者检测到一个或多个 Liberty 应用程序已停止。 当 BUNDLE 从 ENABLED 状态进入 DISABLED 状态时,捆绑软件中的 Liberty 应用程序可能无法启动,或者应用程序在超时之前未在 Liberty 中安装。 超时由 JVM 系统属性 com.ibm.cics.jvmserver.wlp.bundlepart.timeout配置。
    1. 在 CICS Explorer 中,单击 CICS Explorer 菜单栏中的操作 > 捆绑包以打开捆绑包视图。 检查 BUNDLE 资源的状态。
    如果 BUNDLE 资源在 ENABLED 状态下安装失败,那么请检查 BUNDLE 资源的束部件。 如果任何束部分处于 UNUSABLE 状态,那么会发出一条消息以解释问题原因。 例如,此状态可能表示CICS捆扎zFS,或相关JVM服务器资源不可用。 您必须废弃 BUNDLE 资源、解决报告的问题,然后重新安装 BUNDLE 资源。
  4. 可选: 要在应用程序事务上运行 Enterprise Java 应用程序请求,可以创建 URIMAP 和 TRANSACTION 资源。
    如果想要控制应用程序的安全性,那么定义 URI 映射将非常有用,因为您可以将 URI 映射至特定事务并使用事务安全性。 通常,这些资源是作为 CICS 束的一部分创建的,并通过应用程序进行管理。 但是,您可以选择单独定义这些资源(如果希望)。
    1. 为将 PROGRAM 属性设置为 DFHSJTHP 的应用程序创建 TRANSACTION 资源。
      此 CICS 程序处理对 Liberty JVM 服务器的入站 Enterprise Java 请求的安全性检查。 如果设置任何远程属性,那么 CICS 将忽略这些属性,因为事务必须始终在本地 CICS 区域中连接。
    2. 创建 USAGE 类型为 JVMSERVER 的 URIMAP 资源。 将TRANSACTION属性设置为应用程序事务的名称,将SCHEME属性设置为 HTTP 或 HTTPS。
      您还可以使用 USERID 属性来设置用户标识。 如果使用应用程序安全认证机制,将忽略该值。 如果未进行认证,并且未在 URI 映射上设置用户标识,那么工作将在 CICS 缺省用户标识下运行。

结果

CICS 资源已启用,并且 Enterprise Java 应用程序已成功安装到 Liberty JVM 服务器中。

下一步操作

您可以通过 Web 客户机测试 Java 应用程序是否可用。 要更新或除去应用程序,请参阅 管理 Java 应用程序