當前位置:
首頁 > 科技 > Jakarta EE 8,我們還要等多久?

Jakarta EE 8,我們還要等多久?

嘉賓 | 蔣豐慧

Emily Jiang(蔣豐慧)是 IBM 的 MicroProfile 和 CDI 首席架構師,同時也是 Java Champion 稱號獲得者。近日,她接受了我們的線上採訪,談到了對 Python、Go、Java 等編程語言的看法、Jakarta EE 新進展,也對女性開發者給出了自己的建議。今年 5 月,Emily 將在 QCon 北京 2019 做題為《Jakarta EE 和 MicroProfile 的明天會怎樣?》的演講,敬請關注。

InfoQ:如今,Python 和 Go 語言等特別火,您認為它們對 Java 的衝擊大嗎?對於 Java 的前景,您是怎麼看的?

Emily Jiang:Java 是靜態類型的語言,一次編譯,處處運行,我們可以藉助 IntelliJ 或 NetBeans 等 IDE,讓 Java 編程變得更容易,比如,它們可以自動幫你完成代碼。

與 Java 不同,Python 是一門動態類型語言,這就導致智能代碼完成變成了一個巨大的挑戰。Python 的動態特性讓它簡單易寫,閱讀起來也不是很難,但是分析起來卻不容易。

Go 是一門比較有趣的新語言。即使在語言層面上,它也不是 Java 的替代品。Go 是系統編程模型,而 Java 是應用程序編程模型。

時至今日,Java 已經走過了二十多個年頭,它很實用並且被廣泛使用。現在 Oracle 每六個月就會發布一個新版本,Java 開發者可以非常頻繁地採用它的新特性。

因此,我相信在未來的很多年裡,Java 依舊會是最流行的語言之一。

InfoQ:在雲原生和微服務時代,面對 Spring 的挑戰,Java EE 還有何種優勢?

Emily Jiang:Java EE 是許多應用伺服器所採用的標準,比如——

IBM WebSphere Liberty (https://developer.ibm.com/wasdev/)

Open Liberty (https://openliberty.io/)

Red Hat Thorntail (https://thorntail.io/)

Payara (https://www.payara.fish/)

TomEE (http://tomee.apache.org/)

Java EE 優於 Spring 的有這兩點:標準和輕量。

Java EE 是標準的。如前所述,許多應用程序伺服器都支持該標準,這意味著使用 Java EE 編寫的應用程序是可移植的,可以在應用程序伺服器之間切換,避免了供應商的鎖定策略。

使用 Java EE 的應用是輕量級的,因為伺服器運行時提供 API 實現。這樣一來,應用程序易於編寫且僅包含業務邏輯類,而 Spring 應用程序必須將 spring libs 與業務邏輯類一起打包。在快速迭代的開發模式中,大體量 JAR 包是有問題的。

InfoQ:2017 年 9 月,在 IBM 和 Red Hat 的協助下,Oracle 正式把 Java EE 貢獻給 Eclipse 基金會,此後,它更名為 Jakarta EE,您認為這將給 Java EE 帶來哪些突破性的改變?

Emily Jiang:Java EE 的移交對 Java 社區來說意義重大。目前,Eclipse 基金會已將 Java EE 改名為 Jakarta EE,移交工作已經取得了良好的進展。為了 Jakarta EE 8 的誕生,許多公司都參與了進來,並作出了巨大貢獻,比如 IBM、Red Hat、Payara、Tomitribe 等等。Jakarta EE 是社區驅動的,它開源,透明。我的意思是,在這裡,所有的 spec doc,API ,乃至 TCKs 都是開源的。要知道,TCKs 在 Java EE 中是閉源的,它的開源過程著實艱難。

Jakarta EE 開源並且完全透明,受到了 Java 社區的青睞。我們鼓勵每個人都參與到 Jakarta EE 中來,這將使得 Jakarta EE 更加專註於社區需求,加速更新迭代。

InfoQ:我們了解到,目前,Jakarta EE 的遷移工作正在穩步推進中,您預計全新的 Jakarta EE 大概會在什麼時候與開發者見面?

Emily Jiang:具體項目移交進度可以查閱 Eclipse 基金會官方網站,如你所見,許多工程的完成度達到了 100%。2019 年 1 月 29 日,Eclipse Glassfish 5.1 通過了 Java EE 8 TCKs。Jakarta EE 社區目前正致力於使 Glassfish 5.2 通過 Jakarta EE 8 TCKs。雖然 Jakarta EE 8 的時間表尚不能確定,但可以告訴大家的是,項目正在穩步推進,我希望今年能聽到好消息。

EE4J 項目狀態:

X 軸是完成百分比:

20%——項目提案社區評審階段;

40%——已分配項目提交者和資源;

60%——為 Eclipse IP 團隊提供的初始貢獻;

80%——推送到 Git 庫的初始貢獻;

100%——項目進入第一次發布評審階段。

Eclipse 基金會官方網站:

https://www.eclipse.org/ee4j/status.php

InfoQ:全新 Jakarta EE 即將到來,您看好 CDI 成為我們未來的伺服器構建框架嗎?

Emily Jiang:CDI 是 Jakarta EE 規範的核心存在。相當一部分 Java EE 規範,譬如 JAX-RS、JMS、Bean Validation、Transaction、JPA、JSF 和 EE security,可與 CDI 協同工作。我希望,未來它們與 CDI 在 Jakarta EE 中的協作更加緊密。舉個例子,JAX-RS 應該依賴 CDI 以管理資源生命周期,從而擺脫古老的 JAX-RS DI 技術。CDI 為鬆散耦合提供了一個很好的框架。未來的 Jakarta EE 規範應該優先考慮 CDI。

MicroProfile 便是優先使用 CDI,這使得規範非常簡單易用。因此,我鼓勵每個規範都可以在適當的時候與 CDI 保持一致。

InfoQ:近日,Eclipse 基金會發布了 MicroProfile 2.2。那麼,MicroProfile 的戰略方向是?

Emily Jiang:2019 年 2 月,我們發布了 MicroProfile 2.2,包含了 Fault Tolerance 2.0、Rest Client 1.2,、Open API 1.1 和 Open Tracing 1.3。與此同時,MicroProfile Reactive Streams Operator 1.0 也作為獨立規範發布。MicroProfile 的路線是在其他規範仍在更新的同時,將更多的精力放在 reactive 上。目前,GraphQL 上的原型實現正在進行中。我們也希望今年發布 Reactive Messaging。雖然在獨立規範方面取得了進展,但我並沒有忘記 MicroProfile 和 Istio 集成。因此我領導了相關規範工作,以確保 MicroProfile 能滿足微服務和雲原生應用的開發需求,比如 Service Mesh。

InfoQ:Jakarta EE 和 MicroProfile 將如何協作,為雲原生微服務服務?

Emily Jiang:Jakarta EE 和 MicroProfile 是相輔相成的,它們一起工作的時候將會變得非常強大。而大多數應用程序伺服器都支持這個組合。例如,Open Liberty 擁有 Docker Image 鏡像 MicroProfile 2, 包含了最新的 MicroProfile 2.x 和 Java EE runtime。Open Liberty 支持 MicroProfile 和 Java EE 特性的組合使用。

至於 Jakarta EE 和 MicroProfile 的關係,我想我們可以把 MicroProfile 看作跑車,把 Jakarta EE 看作小巴。Jakarta EE 可能會採用 MicroProfile 的一些規範,反之亦然。這裡我舉個例子,MicroProfile 使用了 CDI、JAX-RS、JSON-B 和 JSON-P。

更詳細的有關信息,請閱讀 JAXenter 發布的訪談:

https://jaxenter.com/understanding-jakarta-ee-series-ibm-148922.html

InfoQ:今年春節的時候,我們得到消息,您成為了 Java Champion,恭喜您!我們注意到,女性開發者對技術社區的貢獻不可忽視,您認為,女性開發者的優勢在於哪兒?

Emily Jiang:能成為 Java Champion,我感到非常高興,也非常榮幸。這個稱號含金量十足,因為只有非常有影響力和才華的 Java 開發人員才能被授予。

至於女性開發者的優勢,很多人說,在細節思維上,女性開發者是強於男性開發者的,她們往往會從一個不同的角度出發去思考問題。

對我來說,我並沒有考慮過這一點,因為我不會用性別來區分開發人員。但是有一點我想強調,我們應該擁有更為平衡的團隊。根據研究,單一性別開發人員組成的團隊表現不如混合性別組。我鼓勵每個團隊都應該男女搭配。

InfoQ:在你的代碼生涯中,有沒有印象比較深刻的挑戰?

Emily Jiang:我記得我曾經遇到過這樣一個挑戰,我要在一個產品中實現一個功能,但是我對那項技術沒有任何經驗。我的解決辦法是,首先,你不能消極,你得相信自己,這是第一步,也是很重要的一步。之後,我花了大部分時間去 debug,去理解它是如何工作的。然後,我向我的團隊分享了我的經驗。雖然時間非常緊張,但最後我們還是成功地完成了這個任務,我認為,這離不開樂觀進取的態度和快速學習的技能。

InfoQ:您是否能給那些可能遇到同樣問題的女性開發者提供一些建議?

Emily Jiang:跳出舒適區,不安於現狀,勇於迎接挑戰,這是非常重要的技能。請記住,永遠都不要停止學習,你停止一分鐘,你就落後一分鐘。這些建議並不單單適用於女性開發人員,也適用於在座的各位。

嘉賓介紹

Emily Jiang,現就職於 IBM,MicroProfile 和 CDI 首席架構師。作為 IBM 的 Hursley 實驗室成員之一,Emily 自 2006 年以來一直從事於 WebSphere Application Server 的研發工作,並大量參與 WebSphere Application Server 版本中的 Java EE 實現。她是 MicroProfile 和 CDI 專家組的重要成員,領導著 MicroProfile 配置管理和容錯的規範。同時,Emily 也是 Config JSR 合作規範的領導者。今年 2 月,Emily Jiang 被 Java 社區接納成為 Java Champion。

5 月 6-8 日,Emily Jiang 將在 QCon 北京 2019 「Java 生態系統」專題為我們詳解 MicroProfile 和 Jakarta EE 的相關進展及戰略藍圖。該專題還有來自 Red Hat、阿里巴巴、永源中間件等公司的技術大咖與你分享 Java 語言和 Java 平台生態技術的實踐,內容涵蓋 Shenandoah:Your Next Garbage Collector、Seata 在微服務一致性中的探索、Java 容器化部署等熱點話題。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

我們集結了5位技術男神,將為你揭開Apollo3.5的面紗
2019最受歡迎的資料庫是?

TAG:InfoQ |