在最近的一次采訪中,Oracle產品開發總裁Thomas Kurian宣布了Java EE 8的一系列改進。此舉被認為是為了平息近期的批評(比如那些來自Java EE守護者的批評)和工作分歧(如MicroProfile)。目前的信息還很少,更多細節會在JavaOne 2016大會上公布。
Java開發社區越來越擔心Java EE的未來發展。此前,在今年5月,JCP執行委員會曾考慮向Oracle發出正式申請,要求他們針對其Java EE承諾和計劃作出公開答復。雖然在會議時記錄了下來,但該申請未獲批準。實際上,它變成了一份非正式的申請。之后大約一個月,Java EE守護者們提交了一份change.org請愿書,希望以此激勵Oracle,讓他們不要把Java EE搞砸了。截至目前,簽名者已達3300人。
可能有人傾向于將這些倡議理解為個案,認為它們與不滿意的用戶無關;無可否認的是,其中有幾位Java EE守護者以前是Oracle的員工。然而,似乎越來越多的社區成員加入了批評:除了在change.org請愿書上簽名外,6月8日,一場名為“To EE or not to EE”的研討會在Devoxx UK舉行,許多開發人員提出了問題,并當場或在Twitter上表達了他們對于Java EE未來發展的擔憂。此外,庫作者們指出,Java EE 8的功能可能不足以為他們開發的庫提供一個可行的替代方案。當有人問及新的JSON-B時,Jackson首席開發人員Tatu Saloranta表達了這樣的觀點。
就是在這種背景下,Oracle作出了在Java EE 8中打包更多功能的承諾。雖然當前針對Java EE 8的JSR主要只包含三個新庫(JCache、JSON-B和MVC),但Kurian現在提到了以下所有特性:
數據庫:支持基于NoSQL將數據持久化到一個鍵-值存儲中,并支持一個可以提供最終一致性保證和“放松事務(relaxed transactions)”的事務模型; 安全:支持OpenID和OAuth; 部署管理:一個多租戶應用程序服務規范和Docker支持; 異步性:一個用于反應式編程的新模型和HTTP/2異步通信支持。通過這份公告,Kurian旨在強調“Oracle有一份非常清晰的Java EE 8計劃”。然而,對于提到的那些特性,沒有任何的JSR。這意味著,要么那項工作還沒有開始,也就是說,在Java EE 8中會嚴重延遲,要么是Oracle正獨自開發這些特性,而這違背了JCP所倡導的透明性。這里,也許值得重點說一下一封據稱是Oracle高級員工發出的電子郵件。下面是從中摘錄的一些內容:
Oracle無意于促進競爭對手的發展,也不希望分享創新成果。
這家公司正在對Java EE(企業版)進行瘦身,但它不希望其他任何人致力于Java或Java EE的研發,并且正在邊緣化JCP(Java Community Process)。“他們有一種勝者為王的心理,他們對合作不感興趣。”
這封郵件建議JCP成員向Oracle的客戶發出公開信,提醒他們Oracle正在對Java做什么。Oracle永遠不會和任何“Java基金會”合作,也不會放棄它的IP。
假如這些變化是為了調整Java EE讓其適應云,考慮到Oracle作為一個云提供商所面臨的激烈競爭(IBM、 Amazon、Microsoft或CloudBees,這里僅舉幾例,也面向那個市場),那么對于Oracle而言,為了增加其市場份額,這種情況就可以理解了。但即便如此,這可能也要以招致Java開發社區的對立為代價了。我們只能期待在9月份的JavaOne大會上Oracle宣布進一步的消息,了解到適合Java EE的未來。
查看英文原文:Oracle Unveils Plan to Revamp Java EE 8 for the Cloud