近日,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)。感興趣的讀者可以參考其相關文檔進行體驗。