微信扫一扫
分享到朋友圈

Jakarta EE 8,我们还要等多久?

作者:InfoQ 来源:InfoQ 公众号
分享到:

04-26

嘉宾 | 蒋丰慧
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 容器化部署等热点话题。

更多精彩内容请点击 「 阅读原文 」或识别二维码查看。大会报名现已进入倒计时,团购可享折扣优惠!席位有限,马上联系票务小姐姐 Ring 吧!电话:13269076283   微信:qcon-0410

阅读38690
举报0
关注InfoQ微信号:infoqchina

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。

评论
更多

文章来自于公众号:

InfoQ

微信号:infoqchina

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。