在最近的一次采访中,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
评论