IBM 开源的 Open Liberty 项目简介

  • 张卫滨

2017 年 11 月 2 日

话题:IBM语言 & 开发架构

近日,IBM开源Open Liberty,它是 WebSphere Liberty 的开源实现。Open Liberty 支持基于 Eclipse MicroProfile 和 Java EE API 构建微服务和云原生应用。

来自 IBM 杰出工程师 John Duimovich 在 JavaOne 上做了题为“IBM 和 Java:助力下一代创新”的主题演讲,阐述了 IBM 在开源方面的战略。Open Liberty 项目的领导者 Nottingham 则披露该项目的更多情况。Alasdair Nottingham 演讲的文档可以在 JavaOne 站点上下载

关于 Open Liberty 开源的消息,InfoQ 曾做过报道,并采访到了其技术领导者 Alasdair Nottingham。

2012 年,IBM 发布了针对云端的应用服务器 WebSphere Liberty,它是一个小型轻量级的服务器,设计之初就将现代应用开发的需求考虑了进来。该服务得到了 Java EE 7 的完整认证,并且已经部署到了所有主要的开发平台中,包括 Docker、Kubernetes 和 Cloud Foundry。但是,在过去的一年间,Liberty 团队也在不断讨论如何演化以满足开发人员的期望和现代应用的需求。微服务的出现重新定义了应用的部署,因此团队积极参与Eclipse MicroProfile项目,帮助建立编写云原生微服务的通用 API。

MicroProfile 项目的目标是在微服务架构方面优化企业级领域的 Java。目前已经有很多创新性的微服务企业级运行环境,包括但不限于Wildfly SwarmWebSphere LibertyPayaraTomEE。这些项目为了解决微服务架构的问题,创建了很多新的特性和功能,在这个过程会用到 Java EE 和非 Java EE 的技术。MicroProfile 项目会采用短周期的迭代和创新、获取社区的支持、发布并重复这一流程。最终,项目的输出会提交给 JCP,并希望将来包含到 Java JSR 或其他标准中。最近,MicroProfile发布了 1.2 版本,该项目为微服务添加了一些新的企业级功能,包括配置、容错、健康检查、健康指标以及分布式跟踪。

Open Liberty 项目完全兼容 Java EE 7 和最新的 Eclipse MicroProfile。它将是商业 WebSphere Liberty 产品的核心,因此能够在 Open Liberty 运行的应用无需修改就能在 WebSphere Liberty 上运行,其生态系统组成如下图所示:

其中,Open Liberty 作为 WebSphere Liberty 所扩展的 Java EE 和 MicroProfile 运行时的核心。WebSphere Liberty Core 提供了对 Java EE Web Profile 的支持;Liberty Base 提供了对 Java EE Full Profile 的支持;Liberty ND 提供了对 Java EE Full Profile 的支持和高级管理功能。

Open Liberty 已支持的特性如下表所示:

在启动速度和内存占用方面,Open Liberty 相对于其他应用服务器有一定的优势:

除此之外,Open Liberty 还在类可见性、应用调试、环境迁移方面进行了优化。

借助 Open Liberty 以及开源的OpenJ9,IBM 致力于打造一个完整的开放云 Java 技术栈。

Open Liberty 通过 XML 进行一些相关的配置,提供了多个指导样例(https://openliberty.io/guides/)和开发、组装及部署工具(https://github.com/OpenLiberty/open-liberty-tools)。感兴趣的读者可以参考其相关文档进行体验。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

IBM语言 & 开发架构