写点什么

Eclipse 基金会准备将 Java EE 作为 EE4J 开源

  • 2017-10-30
  • 本文字数:2985 字

    阅读完需:约 10 分钟

Eclipse 基金会已经做好将 Java EE 作为 Eclipse Enterprise for Java(EE4J)进行开源的准备。来自 Eclipse 的执行官 Mike Milinkovich 正式介绍了 EE4J 以及他们正面临的挑战:

将 Java EE 移交给 Eclipse 基金会将是一项激动人心的事业。使用 Eclipse 开放的开发模型来加快 Java 在企业及云原生计算方面的创新是一个非常重要的契机。我们期待数百万开发者和众多企业组织融入到 Java EE 当中来。

Milinkovich 列出了 EE4J 项目的几个最为重要的任务:

  • 迁移现有的 GlassFish 开源项目(130 个 GitHub 仓库)。
  • 迁移 Java EE TCK,让社区也用起来。
  • 创建一个开放的基础设施,让社区在上面开发和测试 EE4J。
  • 在 Eclipse 基金会的支持下建立一个新的规范流程。

Milinkovich 也指出,完成这些任务需要一定的时间,与 Java 社区之间的互动也有待完善。Eclipse 已经创建了 ee4j-community 邮件组,开发者可以通过邮件组进行反馈或参与其中。

在最近的 Java 用户组(Java Users Group)会议上,著名的 Java EE 布道师 Reza Rahman 呈现了“Java EE 8 和 Java EE 9:你需要知道些什么“的演讲。他概括了 Java EE 的过去、现在和未来,评述了与 Java EE 8 相关的 JSR 以及现阶段的发展情况。Rahman 也探讨了 Java EE 停滞不前的问题、Java EE 守护者的出现以及促使 Java 走到今天这个地步的主要事件。

社区同仁们注意到,在 JavaOne 2016 之后的六个多月时间里,所有与 Java EE API 有关的活动几乎都停止了,这是前所未闻的。即使是在 Sun 公司最灰暗的日子里,都没有出现超过六个月没有动作的情况。我当时正在 Oracle,后来离开了 Oracle,而不就之后,“秩序使命”
就出现了,也就是所谓的 Java EE 守护者。我们的社区产生了一个大疑问,为什么会出现这样的状况,但没有人能回答这个问题,只有一片死寂。在经过一阵喧嚣之后,Oracle 站出来说,“
抱歉我们停止了在 Java EE 8 上的工作,不过现在我们又开始了,而且是重装上阵”
。他们进行了另一轮问卷调查,就像在起初做的那样,用以了解我们最初开发的特性是否仍旧有意义。

从本质上说,Oracle 所承若的事情与一开始的并没有太大区别。最大的变化是他们不想再推出任何 Web 框架。相反,他们把包袱丢给了 Ivar Grimstad。Ivar 是真正推动规范往前走的人,并希望能够尽快完成规范。他们去掉了 JMS 相关的工作,EJB 则被保留下来作为冗余的组件模型,因为 Oracle 为了支持 CDI 并不打算完全弃用它。不过他们弃用了 JSF 托管 Bean,这应该说是一个好消息。另外,他们并没有紧锣密鼓地进行 JCache 方面的工作。可以说,原先 80% 的东西都没有变化。不过,我们现在可以对 Java EE 8 和 GlassFish 5 翘首以待了。

除此之外,Oralce 的另一举动则让我们大吃一惊。Oracle 并不打算继续成为同时驱动 Java SE 和 Java EE 发展的公司,而决定放弃 Java EE 的控制权。他们把 Java EE 交给了 Eclipse 基金会,变成一个新的项目,叫作 Eclipse Enterprise for Java(EE4J)。现在不存在绝对的统治者,现在只有公平的战场。任何一家有兴趣推动 Java EE 发展的公司都可以尽他们所能。Oracle 仍然会作为参与者之一,但不再扮演当初的统治者角色。我认为这是非常重要的一个变化。Java 的这部分根基从来没有这么自由过。所以,不要停下脚步,继续前进吧。

以下项目可能会出现在下一版本的 Java EE 中,不过 Rahman 说它们当中有一部分已经在 MicroProfile 1.2 里实现了:

  • 弃用 EJB
  • JCache
  • OAuth、OpenID、JWT
  • 动态配置
  • Fat JAR、模块化
  • 健康检查和度量指标
  • 回路断路器和容错
  • 动态发现
  • 客户端负载均衡
  • NoSQL

Rahman 总结说:

实际上,Java EE 仍然举足轻重。或许你们已经知道,Java EE 8 将带来一些很好的内容。这是一个值得我们关注的版本,我有绝对的理由对它们充满信心。Java 从来没有如此开放过。就像我告诉大家的那样,虽然有些想法还存在准备阶段,但 MicroProfile 已经做了很多工作,这意味着下一版本的 Java EE 会很快与大家见面。如果大家想参与进来,那是再好不过了。现在是参与到 MicroProfile 和 EE4J 项目的最佳时机。EE4J 还在制定章程,一周前我刚给他们的章程提供了一些反馈。现在是给 Java 生态系统注入活力的最好时机。

Rahman 向 InfoQ 介绍了 Java EE 向 EE4J 迁移的相关进展。

InfoQ:你是如何看待新的 EE4J 项目的?

Reza Rahman:这是一件大好事。我们很想看到社区和业界将做何反应。但愿他们会认为我们现在有了一个真正开放的服务端 Java,每个人都可以平等地参与其中。或许连微软、亚马逊和谷歌最后都会参与进来。

InfoQ:JCP 专家组会继续参与 Java EE 的开发吗?

Rahman:但愿如此。很显然,整件事情是从 JCP 出来的,因为 Oracle 在 JCP 当中有很多间接或直接的因素影响着 Oracle 的控制权。Oracle 可以影响 JCP 中的很多事情。希望 JCP 的同僚能够继续参与新模型监管,就如监管 JCP 模型一样。他们将会听到多方的意见。Oracle 在专家委员会具有一票否决权,在 JCP 有一定的权力。但在这里,大家都是平等的,更加的民主。

InfoQ:所以现在就没有投票这种机制了?

Rahman:希望还会有吧。目前正在草拟章程,所以后续会有一个正式的流程。Eclipse 基金会成立的委员会就是用来投票的。他们需要通过投票来决定下一个重大的里程碑。

InfoQ:那么他们正在往 Eclipse 监管模型上靠?

Rahman:是的。

InfoQ:他们将会有自己的投票流程,将会有更多的人有机会参与投票?

Rahman:希望如此。专家委员会只有固定的席位,而大部分席位是由 Oracle 内定的,甚至都没有经过选举。所以,真正的自主投票席位很少。新模型允许所有人参与到决议的制定当中。这里没有内定的席位,当然也没有 Oracle 在 JCP 专家委员会里的那种永久性席位。

InfoQ:在 Java EE 开源之后,Java EE 守护者将何去何从?会有新的章程出来吗?

Rahman:我们在几个月更新了我们的章程。我们将注意力从 Oracle 身上转移到一个更加注重传播的长期章程上。我想我们需要一个重大的转变,但不改初心。我们不会专注于某个特定的组织,相反,我们会鼓励人们参与这个流程,寻求传播和发展,告诉人们 Java EE 是什么以及他们为什么应该关注它。

InfoQ:你认为其他平台(比如 Spring)在 Java EE 的发展过程中将会扮演怎样的角色?

Rahman:在我看来,Spring 几乎已经成为一种专属平台。他们是 90 年代微软的写照,当然是指在 Java 方面。虽然名义上说是开放的,但其实他们仍然紧紧地控制着他们的技术。事实上,他们的大部分贡献者和大方向都是由 Pivotal 公司在把控。从这方面来说,我倒是希望 Pivotal 能够加入 EE4J 成为一个平等的贡献者,推动技术朝着没有独裁者的方向发展。但同时,我认为 Spring 和 Java EE 是 Java 世界的阴阳两面。这多少让人感到一丝不安,但愿最终能够有好的结局。

InfoQ:我们还能将其称为 Java EE 吗?

Rahman:Java EE 的名字不会变,EE4J 只是整个项目的名字。Java EE 的品牌不会改变。

相关资源

查看英文原文 Eclipse Foundation Prepares to Open Source Java EE as EE4J

2017-10-30 19:001543
用户头像

发布了 322 篇内容, 共 140.0 次阅读, 收获喜欢 145 次。

关注

评论

发布
暂无评论
发现更多内容

MySQL数据量太大,日常卡死!想跑路了,java三大框架面试题

Java 程序员 后端

Nacos 2,Java开发社招面试总结

Java 程序员 后端

MyBatis初级实战之二:增删改查,java项目开发实战入门光盘

Java 程序员 后端

MyBatis官方文档-入门,java开发工程师技术栈

Java 程序员 后端

MySQL中特别实用的几种SQL语句送给大家,java面试核心知识

Java 程序员 后端

Mysql 纵表转换为横表,靠着这份190页的面试资料

Java 程序员 后端

Maven虐我千百遍,我待Maven如初恋!(1),springcloud实战演练

Java 程序员 后端

Mybatis学习笔记--Mybatis的概念与入门案例,java中高级面试题最新

Java 程序员 后端

Mybatis学习笔记--延迟加载与缓存,深入分析解读MySQL锁,解决幻读问题

Java 程序员 后端

Netty入门,javaee教程网上购书系统

Java 程序员 后端

Mybatis入门篇之结果映射,你射准了吗?,java框架ssh和ssm百度

Java 程序员 后端

mybatis学习一之入门示例,阿里+头条+腾讯等大厂Java面试题分享

Java 程序员 后端

MySQL InnoDB 事务隔离级别的实现原理,linux群集部署架构

Java 程序员 后端

Mysql必知必会:物理备份与恢复测试,linux教程第四版答案孟庆昌

Java 程序员 后端

Mysql探索之索引详解,又能和面试官互扯了~,mysql基础知识笔记

Java 程序员 后端

MySQL面试题:谈谈MySQL 索引,B,新鲜出炉的Java面试真题集锦我给你们整理出来了

Java 程序员 后端

Maven虐我千百遍,我待Maven如初恋!,mongodb教程

Java 程序员 后端

MyBatis07:使用注解开发,java教程视频我赢职场

Java 程序员 后端

MyBatis实现一对一,一对多关联查询,java程序设计教程课后题

Java 程序员 后端

MySQL:互联网公司常用分库分表方案汇总!,javaspring框架面试

Java 程序员 后端

MyBatis的SQL执行流程不清楚?看完这一篇就够了!,kafka视频教程下载

Java 程序员 后端

MySQL热点面试题:为什么我使用了索引,查询还是慢,java基础入门第二版第四章答案

Java 程序员 后端

Nginx如何优雅的实现负载均衡!(建议收藏),腾讯&字节&爱奇艺&网易&华为实习面试汇总

Java 程序员 后端

Nginx标准配置文件(包括反向代理、大文件上传,java基础面试问题大全及答案大全

Java 程序员 后端

Lua+OpenResty+nginx,java菜鸟教程集合

Java 程序员 后端

Matlab数值微分与数值积分,linux环境高级编程

Java 程序员 后端

Mybatis源码分析二-如何优雅的使用主体日志,zookeeper集群实现原理

Java 程序员 后端

Mybatis学习笔记--多表查询,java入门基础代码

Java 程序员 后端

Nginx面试三连问:如何工作?负载均衡策略有哪些,如何成为一个更好的Java开发者

Java 程序员 后端

MyBatis初级实战之三:springboot集成druid,java实用教程第五版

Java 程序员 后端

Mybatis学习笔记--自定义Mybatis,java数据结构面试题及答案

Java 程序员 后端

Eclipse基金会准备将Java EE作为EE4J开源_Java_Michael Redlich_InfoQ精选文章