作者
近日,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 Swarm、WebSphere Liberty、Payara、TomEE。这些项目为了解决微服务架构的问题,创建了很多新的特性和功能,在这个过程会用到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)。感兴趣的读者可以参考其相关文档进行体验。
转自 http://www.infoq.com/cn/news/2017/11/IBM-open-source-Open-Liberty