与 David Blevins 聊 Java EE 的未来

  • Daniel Bryant
  • 薛命灯

2017 年 10 月 24 日

话题:Java语言 & 开发架构

在今年的JavaOne大会上,Oracle 和 Java 社区发布了很多有意思的内容,而在企业领域最为重磅的消息应该是Eclipse 基金会即将接管 Java EE。InfoQ 采访了 Java EE 社区的老前辈 David Blevins,谈论了这一事件的重要意义、对行业的影响以及开发人员将如何参与到被视为 Java EE 未来的“EE4J”当中。

Tomitribe 创始人兼 CEOBlevins在谈话开始时表示,在 Java EE 移交给 Eclipse 基金会之前,开发人员要想参与到 Java EE 规范的制定和代码开发当中并不是件容易的事。去年开始的 MicroProfile 项目预示着一个更加开放的 Java EE 社区的到来,不管是对传统的 Java EE 还是 Spring 来说都具有积极的意义。在谈话结束时,Blevins 呼吁云厂商实现支持 EE4J 的 PaaS 平台,可以让企业将 Java EE 负载迁移到云端。

InfoQ:你好,David,欢迎来到 InfoQ。请你简单地介绍一下你自己以及你在 Java EE 生态系统里扮演的角色。

David Blevins: 我很早就参与 Java EE 的工作了。1999 年,我和一个朋友完成了 EJB 1.1 的开源实现,也就是 OpenEJB。那个时候我只有 23 岁,对 EJB 和开源并没有非常深刻的理解。数年之后,我站在 JavaOne 大会的舞台上,与 Oracle、IBM 和 Red Hat 一起见证 Java EE 的开源。我创立的公司 Tomitribe 也是 Java EE 的许可受益者,主要支持 Apache TomEE,也属于 Java EE 专家组成员,JCP 执行委员会的组成部分,我们在 Java EE 方面也投入了很多。

InfoQ:今年的 JavaOne 大会给我们带来了很多好消息。你能总结一下,分享一下你的想法吗?

Blevins: Java EE 捐献给 Eclipse 基金会可以说是一个大头条了。EE4J 将成为新的开放平台,包括了合规测试套件(Compliance Test Suite)、开放监管和更快的规范流程。它移除了一些人为的障碍,给 Java 社区带来了诸多影响,我简单地提两点。 首先,下一代 EE 规范实现者不需要像我当初那样花很长时间从头开始,相反,他们可以很快地实现规范。之前的准入门槛要求他们成为专家组成员或者获得 TCK,这样才能获得实现规范的资格。现在这些门槛被移除了,我们将看到由刚进入这一领域的年轻开发者实现的 EE4J。他们相互启发,引领新一波创新潮流。 其次,围绕 Java EE 的 IP 模式阻碍了创新。IP 被加入到规范当中,但规范制定者却加入了许可限制,有些还是收费的。这样就出现了一方茁壮成长而其他人只能依附其上的局面。我们都是技术人,所以只会从技术角度思考创新受到阻碍的原因。我们的模式在很长一段时间内没有促进创新,反而遏制了创新。随着许可的开源,这些障碍也随之消失了。在我们的印象当中,大型厂商发展缓慢,就像身患残疾一样。如果你想知道在移除了这些障碍之后我们能够做成什么样,可以看看 Eclipse MicroProfile。

InfoQ:EE4J 和 MicroProfile 之间有怎样的关系?

Blevins: 我认为 Eclipse MicroProfile 展现了一种新的创新模式。在头 15 个月里,我们制定并发布了 5 个新的规范,还有另外 4 个正在进行当中。Tomitribe 与 IBM、Red Hat、Payara、LJC 共同创立了 MicroProfile,我们希望找到一种方式来弥补基于 JCP 的 Java EE 生态系统的不足,让新想法能过更快地进入孵化器,并在成为正式标准之前通过验证。我们已经完成了这一任务,而在 EE4J 的助力下,我们的发展有了更多可能性。它们两者会不会发展到一起要取决于它们的两个社区,不过考虑到 EE4J 和 MicroProfile 两个社区的大部分人是同一批人,我想它们很有可能会发展到一起,MicroProfile 规范将会被用到 EE4J 当中。 中肯地说,我个人比较喜欢“EE MicroProfile”这样的说法,而且我认为在未来有理由考虑让 MicroProfile 成为 EE4J 项目管理委员(PMC)的子项目。我想,我们仍然有必要把 MicroProfile 作为一个孵化器,不管 EE4J 标准发展成什么样,MicroProfile 的角色仍然可以发挥它的作用。

InfoQ:对于 Java 微服务开发者来说,Spring(包括 Spring Boot)是目前最受欢迎的框架。你认为 Java EE 的这些进展将给 Spring 带来哪些影响?

Blevins: 希望会是积极的影响。Spring 为 Java 生态系统带来了价值,我认为它们没有了彼此的存在就无法取得圆满的成功。Spring 社区一针见血地指出了一些问题,比如缺乏敏捷性和许可。随着这些问题的淡去,我希望能够看到两个社区有更进一步的合作。一些来自 Java 社区之外的竞争者(如 Node.js)接踵而至,所以我们很希望两个社区有更紧密的合作。 有一件事情是很清楚的,Spring 曾经有一个又老又迟缓的竞争者 Java EE,而 EE4J 是新一代的 Java EE,EE4J 和 Spring 之间似乎有更多的共同点。

InfoQ:在 Java SE 方面,JavaOne 大会带来的最重磅的消息就是模块化系统 Jigsaw 的发布。这会给 Java EE 带来积极的影响吗?

Blevins: 我想现在下定论还为时过早。不过,如果我们基于 Java 9 重建 Java EE,那么可能就不再需要 war 包、ear 包、rar 包,甚至是 jar 包。也就是说,Jigsaw 可以帮我们减小运行时的大小,从而把更多的模块塞进单个 JVM 里。现在大家都在关注微服务和轻量级运行时,所以 Jigsaw 在这方面将给我们带来好处。

InfoQ:感谢你今天花时间参与我们的访谈。你还有其他什么要与 InfoQ 读者分享的吗?他们怎样才能参与到未来的 Java EE 当中来?

Blevins:这里需要特别提到一些云服务提供商,如 Google、Microsoft 和 Amazon,他们都提供了 PaaS 实现,为 Java EE 迁移到云端提供了一种选择,不过这也说明仍然有很多人在使用自己的数据中心,不知道该怎样迁移到云端。 因为许可的限制,迁移到云端对他们来说未必会有多大意义。你看到的很多基础设施看似具备了 Java EE 的概念,但实际上它们根本没有重用已有的 API。一旦他们当中有人看到放在他们面前的金矿,他们就会开始挖掘。到那时,我们就会看到多米诺骨牌效应,在接下来的 10 年,PaaS 会成为一个产业和新的标准。 一个深受监管的产业或生态系统在移除了限制和障碍之后,奇迹开始发生。它们似乎有相似之处,但我们要明白,Java EE 好比一辆的士,而 EE4J 是 Uber。能够局限我们下一个 10 年的只有我们自己的创造力。 那些年轻的开发者们,请加入 EE4J 社区的邮件列表,开始参与进来吧。在接下来的 10 年里,你们就是主角。

关于 EE4J 更多的信息可以在 Eclipse 基金会的主页“The Eclipse Enterprise for Java Project Top Level Project Charter”上找到。关于 JavaOne 2017 大会更多的发布内容,可以在 InfoQ 网站上找到:

读者可以关注InfoQ 的 Java 板块获取与 Java 相关的最新消息。

查看英文原文The Future of Java EE, A Q&A with David Blevins: The Eclipse Foundation, EE4J and MicroProfile

Java语言 & 开发架构