Java EE 6 (JSR 316) 提案確立「擴充性」與「Profiles(概要檔)」雙核心主題,旨在解決平台膨脹、僵化與廠商認證門檻過高等積弊,重塑輕量、模組化的企業級開發體驗。
雙核心主題
1. 擴充性:開放平台邊界,擁抱創新生態
不將所有 Web/企業技術硬塞入核心規範,而是:
- 提供擴充點與服務介面(SPI),讓第三方技術(框架、函式庫)能像內建設施一樣無縫載入應用伺服器上層或作為外掛。
- 開發者無感知地使用擴充功能,降低平台核心維護負擔,加速新技術納入週期。
2. Profiles:針對性子集,降低進入門檻
Java EE 範圍過廣,稀釋核心價值。Profiles 機制:
- 引用 Java EE 平台技術子集,並可納入非核心 JSR 技術。
- 專家組定義平台規範與 Profiles 引用規則。
- 首發 Web Profile:面向 Web 應用開發者,僅包含多數 Web 專案所需技術(Servlet、JSP、JSF、JPA、EJB Lite 等),排除複雜企業級技術(完整 EJB、JMS、JTA 等),提供平緩學習曲線。
平台瘦身機制:標記移除與版本化決策
引入 Java SE 專家組(UEG)流程:
- 第 N 版 UEG 提議移除特性,記錄於規範。
- 第 N+1 版 UEG 決定:移除、保留為必要、或標記「待移除」交由下一版決定。
避免平台無限膨脹,確保長期演進健康度。
候選新特性 JSR(節錄)
- 納入: JSR 237(應用伺服器工作管理)、JSR 299(Web Beans/CDI 前身)、Servlet、EJB、JSF 等既有技術更新。
- 延後: JSR 168 (Portlet)、JSR 170 (JCR)、JSR 225 (XQJ) 等留待未來版本。
Rod Johnson(Spring 創始人)深度評論:為何 Java EE 6 至關重要
「Java EE 6 對平台進行了重要修正,有潛力解決所有積弊:
- 認證伺服器功能過剩,多數用戶用不到;
- 『統一模型』理念脫節現實企業需求;
- 開源框架(Spring 等)已大幅提升生產力與產品品質;
- Ruby on Rails、.NET 等敏捷挑戰者,2-3 年一版太慢;
- 廠商難以跟進認證,市場準入壁壘極高(Java EE 5 發布一年多,僅 BEA 通過認證)。
Java EE 6 將改變一切!企業 Java 社群應歡迎其到來。」
影響與展望
Java EE 6 確立的 Profiles 機制與擴充性架構,直接塑造後續 Java EE 7/8、Jakarta EE 9+ 的演進路徑。Web Profile 成為輕量微服務框架(Spring Boot、MicroProfile、Quarkus)的靈感源頭。Rod Johnson 的預言終成現實:模組化、可擴充、開發者優先,成為現代雲原生 Java 平台的核心基因。