CICS 和 Java
CICS 提供用于在受 CICS 区域控制的 Java 虚拟机 (JVM) 中开发和运行 Java™ 应用程序的工具和运行时环境。
为了帮助提高通用处理器生产力,并帮助降低基于 z/OS Java 技术的应用程序的总体计算成本,在某些 IBM Z 硬件中提供了特殊处理器。 IBM® z Systems ® Application Assist Processor (zAAP) 可以提供额外的处理器容量来运行符合条件的 Java 工作负载,包括 CICS中的 Java 工作负载。
Java on z/OS 为运行 Java 应用程序提供全面支持。 有关 IBM Z 平台上的 Java 的更多信息,请参阅 z/OS 上的 Java SDK 产品 ,其中包括下载每个 SDK 的链接。
您可以使用 Gradle、Maven或 IBM CICS® SDK for Java 构建和部署应用程序,并 CICS Explorer®。如果您是Java开发人员,请查看 CICS 中的Java入门。
Java 运行时环境
CICS 支持 IBM Semeru Runtime® Certified Edition for z/OS® (版本 11.0 和 17.0 )和 8.0 IBM 位 SDK for z/OS、Java Technology Edition (版本 21.0 )Java 运行时环境。
- Java 11 Java 17 Java 21适用于 z/OS 的 IBM Semeru Runtime Certified Edition for z/OS
IBM Semeru Runtime Certified Edition for z/OS 是 Java SDK 的实现。 认证版本包含 Java 运行时环境,该环境支持完整的 Java API 集和一组开发工具。
6.3 CICS 使用 IBM Semeru Runtime Certified Edition for z/OS17.0.7.0 或 21.0.4.0 作为最低版本级别。
6.2CICS 使用 IBM Semeru Runtime Certified Edition for z/OS 版本 11.0.17.0、版本 17.0.7.0 或版本 21.0.4.0 作为最低发布级别。
6.1CICS 使用 IBM Semeru Runtime Certified Edition for z/OS 版本 11.0.15.0、版本 17.0.7.0 或版本 21.0.4.0 作为最低发布级别。
存在下列限制:- 不支持在Java 21虚拟线程上调用 CICS 服务。
- Java 11、Java 17或Java 21不支持 CICS TS build toolkitCICS )。
- Java 11、Java 17或Java 21不支持SAML JVM服务器。
- 6.3 使用 CICS 安全令牌服务的 SAML 支持已从 CICS TS 6.3 中删除。
- 6.3 自 CICS TS 6.3 起,已删除对 Java 8 和 Java 11 的支持。
- Java 8 IBM 64 位 SDK for z/OSJava Technology Edition
CICS 使用 IBM 64 位 SDK for z/OSJava Technology Edition V 8。
存在下列限制:- CICS TS build toolkit ( CICS 构建工具包 )支持 Java 17 或更高版本。
- SAML JVM服务器仅支持Java 8。
- 6.3 使用 CICS 安全令牌服务的 SAML 支持已从 CICS TS 6.3 中删除。
- 6.3 自 CICS TS 6.3 起,已删除对 Java 8 和 Java 11 的支持。
- 6.2 CMCI JVM 服务器不支持 Java 8。
某些 Liberty 功能部件需要特定的 Java 版本,这些版本在 Liberty 功能部件中调用。 此外,如果任何应用程序发出 Java RMI 调用,那么必须确保在客户机和服务器运行时都具有相同的 Java 级别。
在Java 11、Java 17和Java 21中,基础JRE与Java 8 JRE不同。 虽然 Java 8 字节码可能在更高的 Java 版本中运行,但值得查看应用程序。 在Java 21中,标准Java API的默认字符集是 UTF-8 ,控制台输入和输出编码除外。 早期版本的Java使用EBCDIC默认字符集。 在 CICS Java应用程序中,处理基于EBCDIC的数据很常见,因此这一变化意义重大。 有关更多信息,请参阅 将应用程序迁移到新的 Java 版本。
JVM 服务器
- 合格的 Java 工作负载可以在专业引擎处理器上运行,从而降低交易成本。
- 不同类型的工作 (例如线程安全的 Java 程序和 Web Service) 可以在 JVM 服务器中运行。
- 可以在 OSGi 框架中管理应用程序生命周期,而无需重新启动 JVM 服务器。
- 随 OSGi 一起打包的 Java 应用程序可以在 CICS 和其他平台之间进行移植。
- 可以将 Enterprise Java 应用程序部署到 Liberty JVM 服务器中。注: CICS 中的 OSGi 捆绑软件可以安装在 Liberty JVM 服务器中,但不能使用任何 Liberty 服务或功能部件,因为它们不受支持。
IBM CICS Java SDK
CICS Explorer 是基于 Eclipse的集成开发环境 (IDE) 的免费下载。 CICS Explorer 随附的 IBM CICS SDK for Java 支持开发和部署符合 OSGi 服务平台规范的应用程序。
OSGi 服务平台提供了一种机制,可使用组件模型开发应用程序,并将这些应用程序作为 OSGi 束部署到框架中。 OSGi 捆绑软件 是应用程序组件的部署单元,包含版本控制信息,依赖关系和应用程序代码。 OSGi 的主要优点是您可以从可复用组件创建应用程序,这些组件只能通过称为 OSGi 服务的定义明确的接口进行访问。 您还可以精细地管理 Java 应用程序的生命周期和依赖关系。
IBM CICS SDK for Java 允许针对任何受支持的 CICS发行版开发 Java 应用程序。 SDK 包含用于访问 CICS 服务的 Java CICS 库 (JCICS) 以及用于开始为 CICS开发应用程序的示例。 您还可以使用该工具将现有 Java 应用程序转换为 OSGi。
IBM CICS SDK for Enterprise Java (Liberty) 作为选项包含在 CICS Explorer 中,支持将 Liberty 应用程序打包到可部署到 CICS的 CICS 束中。
要下载和安装最新的 Explorer SDK 以及了解更多信息,请参阅 CICS Explorer 产品文档。
Gradle 和 Maven
作为 IBM CICS SDK for Java 的替代方案,您可以将项目定义为 Gradle 或 Maven 模块,并通过引用 Maven Central 构件来表达依赖关系。 然后,您可以选择使用 CICS -provided Gradle 或 Maven 插件,将应用程序打包并部署到 CICS 捆绑程序中。
- 为何使用 Gradle 或 Maven 进行 CICS 开发?
- 使用 Maven Central 工件简化依赖关系管理: Java 开发者可以通过几行配置来添加对 Java CICS API 和其他 CICS 库的依赖关系。
- 开发环境更加灵活: Gradle 和 Maven 支持在大多数 Java IDE 中可用,例如 Eclipse, IntelliJ IDEA和 Visual Studio Code。 Java 开发者可以在熟悉的 IDE 中编写应用程序代码。
- 使用 Gradle 和 Maven 插件在开发时轻松、自信地进行捆绑部署(需要 工作原理:CICS 捆绑部署 APICICS 捆绑部署 API):
- Java 开发者可以在几秒钟内将束重新部署到 CICS 区域中,而无需 zFS 连接或手动禁用,废弃和重新安装束。
- Java 开发者可以将 CICS 束构建和部署集成到其工具链中,从而节省大量手动工作。
- API 确保对 CICS 系统定义数据集 (CSD) (用于 BUNDLE 定义安装) 和 zFS 上的捆绑软件目录的受控访问,以便系统程序员可以允许 Java 开发者部署捆绑软件而不授予其他访问权。
- 您可以在 CICS 中使用 Gradle 或 Maven 执行的操作
- 解析来自 Maven Central 的编译依赖关系
CICS Java API 和其他库的列表在 Maven Central
com.ibm.cics组 ID 下提供。 根据贵组织的政策,您可以直接从 Maven Central 引用这些工件,或者使用 Artifactory 或 Nexus 等版本库管理器将它们镜像到企业版本库。 - 使用 Gradle 或 Maven 插件来构建和部署 CICS 束
Gradle 和 Maven 插件是开源的,在 GitHub 上提供 (cics-bundle-gradle 和 cics-bundle-maven )。 您可以使用它们来构建 CICS 捆绑包,并在配置 CICS 捆绑包部署 API 后部署 CICS 捆绑包。 支持 CICS 捆绑组件的子集,包括 WAR 文件(.war)、EAR 文件(.ear)和 OSGi 捆绑组件(.jar)。
有关如何为 CICS 捆绑部署 API 配置 CICS 的说明,请参阅 为 CICS 捆绑部署 API 配置 CMCI JVM 服务器。
- 解析来自 Maven Central 的编译依赖关系