要使用哪个 JVM 服务器 :Liberty JVM 或 OSGi JVM?

CICS 提供 JVM 服务器作为运行时环境,以在 CICS 区域中托管 Java 应用程序。 基本选择是要使用的 JVM 服务器。

在 CICS中, OSGi JVM 服务器是包含 OSGi 框架的 Java 运行时。 该技术也用于 Liberty JVM 服务器。 两者之间的关键区别在于 Liberty JVM 服务器嵌入了 Liberty 服务器的实例。 请参阅 CICS中的 Java 设计选项 ,以获取高级视图以及应用程序类型,打包和部署的相应选项。

选择 Liberty JVM

如果需要 Web 技术和/或 Enterprise Java™ API ,那么 Liberty JVM 服务器适用。 例如:
  • 您希望对 CICS® 应用程序的演示界面进行现代化改造,将 3270 屏幕替换为 Web 浏览器和 RESTful 客户机。
  • 您希望使用基于 Java 标准的开发工具将 Web 客户机与其他现有 CICS 应用程序打包,共存和管理。
  • 您已在 WebSphere® Application Server 中使用 Liberty 应用程序,并希望将其移植到 CICS中运行。
  • 您已在 CICS 中使用 Jetty 或类似的 servlet 引擎,并且希望迁移到基于 Liberty 的应用程序服务器。
  • 您希望使用数据源定义从 Java 访问 Db2® 数据库。 请参阅 定义 CICS Db2 连接
  • 您希望使用 Java 事务 API (JTA) 将对 CICS 可恢复资源进行的更新与通过类型 4 JDBC 数据库驱动程序对远程资源管理器进行的更新进行协调。
  • 您希望使用 JAX-RS 来开发遵循 REpresentational State Transfer (REST) 原则的服务。
  • 您希望使用 JAX-WS 通过支持基于注释的标准模型来开发应用程序。
  • 您希望开发通过 JMS 发送和接收安全消息的 Java EE 应用程序。

要使用 Liberty JVM 服务器,请参阅 开发 Java 应用程序以在 Liberty JVM 服务器中运行

选择 OSGi

当需要 Java SE API 时, OSGi JVM 服务器适用。 OSGi JVM 服务器是一个较轻的选项,不需要配置 Angel 进程或相关联的安全性,这使它在以下情况下成为一个不错的选择:
  • 您希望创建可在 zAAP 上运行的 Java 工作负载,以降低事务成本。
  • 您具有编写在其他平台上使用 OSGi 的 Java 应用程序的经验,并且希望在 CICS中创建 Java 应用程序。
  • 您希望提供 Java 应用程序作为一组可独立复用和更新的模块化组件,而不会影响应用程序及其运行所在的 JVM 的可用性。
  • 您可以遵循 "纯旧 Java 对象" (POJO) 编程模型,从而使您可以选择将应用程序部署为一组具有动态生命周期的 OSGi 捆绑软件。
  • 新的 Java 应用程序和新的 Java 应用程序版本可以部署到实时生产系统中,而不必重新启动 JVM ,也不会影响部署在该 JVM 中的其他 Java 应用程序。

OSGi 与 CICS(例如,捆绑软件) 之间存在一些概念冲突,这些概念可以将您捕获到其中,而某些功能 (例如,类装入) 具有隐藏的深度。 IBM Developer 中的 OSGi Demysti极了 文章提供了处理这些复杂性的提示。

要使用 OSGi 服务器,请参阅 OSGi 使用指南