最近大家围绕Oracle对Java EE的承诺有很多顾虑。InfoQ上个月通过一篇Java EE守护者联盟的报道介绍了相关新闻。Pivotal公司Spring Data项目主管兼JPA 2.1专家组成员Oliver Gierke最近向Jaxenter提到Oracle明显已经对Java EE 8失去兴趣,此外还介绍了这些情况可能对Java社区产生的影响。

\\

Java EE 7发布几个月后,Oracle于2013年11月发布博客文章公布了有关Java EE 8的路线图:

\\

\

在发布Java EE 7和GlassFish Server Open Source Edition 4之后,我们开始规划Java EE 8路线图,并通过JavaOne Strategy主题演讲进行了介绍。总结来说,我们的兴趣主要集中在改进对HTML5的支持、云计算,以及调查对NoSQL的支持等方面。对于大家想在Java EE 8中看到的改进,社区和客户为我们提供了一些很棒的反馈。

\\

简单来说,Oracle对Java EE的未来做出了承诺。Java EE 7已正式发布,有关Java EE 8的规划工作也已开始。

\

\\

在那之后,Oracle在博客文章中所表现出的热情似乎彻底停摆了。Oracle在2015年6月发布的博客文章向Java社区通告了有关Java EE 8路线图的最新近况:

\\

\

我们为自己设立的目标是在JavaOne San Francisco 2016开始前完成相关工作。虽然我们都喜欢在JavaOne做出(并听到)一些大事情,但在启动专家组过程中遇到的各种延迟以及我们的规范管理者在时间方面遇到的其他要求导致发布日期需要略微延后。我们依然会在Java EE平台的开发过程中遵循有关透明度的承诺。因此公开宣布要将完成这一工作的目标时间正式推后至2017年上半年。

\

\\

Java EE 7发布两年后,Oracle告诉Java社区他们还要再等等。在被问到有关Java EE 8的具体情况时,Gierke 说:

\\

\

从全球视角来看,Java EE 8基本上还在继续延续着Java EE 7那老生常谈的故事:继续执着于其他参与者已经逐渐不感兴趣的领域。在我看来,这是因为所有主要对手都已经开始将目光转向自家的云计算产品(Oracle有Oracle Cloud,Red Hat有OpenShift,IBM有Bluemix,当然Pivotal也有Cloud Foundry)。

\

\\

JSR 372和JSR 378专家组成员Josh Juneau于2016年4月发布的博客文章中谈到了自己的看法。经过调查,Juneau发现由非Oracle规范管理者所控制的JSR比Oracle的规范管理者所控制的JSR更活跃。JSR 372的提交数量也有显著下降(见下图)。Juneau认为2015年10月之后的大部分工作都是由Java社区,主要是Arjan Tijms完成的,此人是Bauke Scholtz的共同创始人兼开发主管,同时也是ZEEF的共同创始人兼Web应用程序专家。

\\

\\

InfoWorld特约编辑Paul Krill最近撰写的一篇文章中提到,James Gosling发现Oracle的行事方式让人“非常不安”:

\\

\

Oracle恐怕不会继续为EE提供太多支持,而是转由社区合作提供...将其“专有化”,通过“廉价汽车旅馆”的模式推行不规范的标准,“客户只需要办理入住手续,从不需要退房”。

\

\\

Spring 5和Java EE

\\

Krill于JavaOne 2010期间发布的一篇关于Java EE座谈会的文章中介绍了有关Spring和Java EE的争论:

\\

\

“我绝不会将Spring与Java EE 6混为一谈,因为重叠的地方太多了,”身为顾问、作者,以及演讲者的Adam Bien这样说。另外他还提到同时使用Spring和Java EE的注解会导致复杂的问题。

\\

他说:“对于大部分项目,我的个人意见是将它们区分对待,使用Spring或Java EE 6都行。”然而开发者也可以在EE 6的基础上使用Spring工具,Bien这样说到。

\\

但是Caucho Technology的首席工程师Reza Rahman更担心这两种技术之间的竞争。“Java EE需要Spring,正如Spring也需要Java EE,”Rahman说。

\

\\

大概六年后,原Oracle Java EE布道师,现任CapTech Ventures顾问的Gierke给出了与Rahman类似的看法:

\\

\

据称Spring和Java EE之间的关系以竞争为最主要特点。然而如果仔细研究很快你就会发现,这两者之间曾经(并且目前依然)存在协同增效的作用,它们之间的关系不是非黑即白的,中间有很多灰色地带。

\\

一方面,某些情况下Spring是以Java EE规范为基础构建而来的,因此如果没有Servlet API,很难想象Spring MVC能发展成为目前这种形式。另一方面,框架始终都为最重要的规范提供了支持。

\

\\

另外要注意,虽然Spring依赖Servlet API,但最初发布的Spring 5并不包含新的Servlet 4.0 API。对此Gierke解释说:

\\

\

对我们来说,Java EE 8中最重要的部分在于Servlet 4.0 API及其对HTTP 2.0的支持。某种程度上这是可以预见的,但在我们最终正式发布Spring 5之前一切都尚无定论,我们目前正在与最重要的Servlet容器实现者(Tomcat、Jetty、Undertow)密切合作,以确保能在第一时间使用他们提供的原生API实现对HTTP 2.0的支持。

\

\\

Java社区能扭转乾坤吗?

\\

Oracle于2015年6月发布的博客文章鼓励Java社区提供帮助:

\\

\

鉴于目前的这些变化,你将有更多时间和机会参与其中。

\\

我们会继续鼓励开发者追踪JSR并通过各种JSR邮件列表和维基,下载并尝试Java EE 8参考实现的早期版本等方式提供反馈。我们已经看到很多人不仅对Java EE 8的功能感兴趣,而且已经参与了进来。

\

\\

然而 Krill于2015年9月发布的文章称,InfoWorld收到了来自Oracle前任高级雇员的邮件,邮件部分内容摘录如下:

\\

\

Oracle根本没兴趣为竞争对手做嫁衣,也不想共享自己的创新成果。

\\

该公司正在逐渐抛弃Java EE(Enterprise Edition),但并不希望别人继续完善Java或Java EE,同时还在逐渐冷落JCP(Java Community Process)。“他们抱有一种赢家通吃的心态,对合作根本没兴趣。”

\\

这封邮件建议JCP成员向Oracle客户发送公开信,警告他们Java目前遭受的待遇。Oracle绝对不会与任何“Java基金会”进行合作,也不准备公开自己的知识产权。

\

\\

在最近的一篇文章中,Juneau解释了Oracle有必要推进Jave EE继续发展而不应放弃的重要原因:

\\

\

很明显,为确保安全性并保证能继续使用目前的API,这些技术需要继续发展和完善。如果有人只是简单地想要Java EE停步不前,这意味着所有部分或全部运用Java EE的应用程序和服务(可能是我们所熟知的互联网上的很多东西)都将受到影响,无法继续发展以符合当今技术和安全方面的要求。

\

\\

Gierke很高兴看到社区围绕Java EE 8做出的诸多举措,然而他也警告说:

\\

\

我认为有一方面还没有引起大家足够重视,这个问题其实还挺危险:这个问题与我们到底能围绕Java EE聚集多少社区成员完全无关,但是由于许可方面的原因,对于Oracle所控制的JSR我们几乎束手无策。

\\

除非愿意对Oracle采取一些法律行动,否则这个问题完全无解。我不确定是否有人愿意这样做,以前有人对Google这样做的结果大家都知道的。因此我觉得在不可行的情况下建议大家采取措施,这一点显得有些奇怪。

\

\\

Java EE守护者

\\

在年初从Oracle离职后,Rahman成立了Java EE守护者联盟,意在推动Java EE继续发展,尤其是:

\\

  • 宣传Java EE 8。 \\
  • 为Java EE 8 JSR提供支持。 \\
  • 游说Oracle履行有关Java EE 8的承诺。 \\
  • 设法将停滞的Oracle JSR转手给其他供应商。 \

Java EE守护者联盟提供的证据证明Oracle在Java EE 8的发展方面全无进展,并鼓励Java社区签署请愿书,该请愿书将递交给Larry Ellison。InfoQ之前发布的文章也针对这一话题展开了漫长的讨论。

\\

作为对Oracle失去有关Java EE 8兴趣所做的总结,Gierke表达了自己的想法:

\\

\

如果这事的影响力不是那么深远或严重,大家可能会觉得目前的情况有些讽刺:Spring堆栈以前被视作专有的,因为该技术的开发只得到一家公司的支持。在某些人乐观的想法看来,Java EE堆栈始终都是完全开放,并且由社区驱动的。现在就因为一家公司失去了对Java的兴趣,整个Java世界天翻地覆了。

\

\\

查看英文原文:Stagnation with Java EE 8: Can the Java Community Make a Difference?

Java EE 8停步不前:Java社区能否扭转乾坤?相关推荐

  1. java ee maven_针对新手的Java EE7和Maven项目–第5部分–使用Arquillian / Wildfly 8进行单元测试...

    java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4部分 , 这是第一篇"额外"文章,基于我在该系列博客文章中"构建&quo ...

  2. java ee maven_针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom...

    java ee maven 为什么呢 很多时候,我在日常工作中试图解决一些基本或复杂的Maven / Java EE项目结构问题. 为了提供解决方案,我经常最终会尝试项目结构,测试我在不同应用程序服务 ...

  3. Java EE系列(九)——Java EE连接Mysql数据库(JDBC保姆级教学)

    最近几天,peter xiao所在的项目小组也逐渐开始进行做最后的Java web课程大作业了,我们组所做的是运动会报名服务系统,其中涉及到很多数据的增删查改,所以需要依靠Mysql数据库来解决这些问 ...

  4. couchbase_具有Couchbase,Java EE和WildFly的CRUD Java应用程序

    couchbase Couchbase是一个开源的NoSQL文档数据库. 它允许访问,索引和查询JSON文档,同时利用集成的分布式缓存来实现高性能数据访问. 开发人员可以使用不同的语言(Java,Go ...

  5. java ee各类组件_在Java EE组件中使用骆驼路线

    java ee各类组件 从现在开始我一直在与Camel合作,我真的很喜欢它的简单性. 在Java EE之上使用它一直是一个挑战,我最近发表了一篇关于如何做到这一点的演讲,而在Java EE中引导Cam ...

  6. java ee maven_针对新手的Java EE7和Maven项目–第8部分

    java ee maven 第一部分 , 第2部分 , 第3部分 , 第4部分 , 第5部分 , 第6部分 , 第7部分 第8部分 自上一篇文章以来,这一系列教程已经有很长时间了. 是时候恢复并在我们 ...

  7. java ee maven_针对新手的Java EE7和Maven项目–第6部分

    java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB ...

  8. java ee maven_针对新手的Java EE7和Maven项目–第7部分

    java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5 部分 , 第6部分 在上一篇文章(第6章)中,我们发现了如何使用Arquillian ...

  9. 具有Couchbase,Java EE和WildFly的CRUD Java应用程序

    Couchbase是一个开源的NoSQL文档数据库. 它允许访问,索引和查询JSON文档,同时利用集成的分布式缓存来实现高性能的数据访问. 开发人员可以使用不同的语言(Java,Go,.NET,Nod ...

最新文章

  1. Linux基础知识入门测试
  2. IOS自定义表格UITableViewCell
  3. 拇指接龙游戏升级记录03(升级MainScene.cpp)
  4. Python开发【第三篇】:文件操作与函数
  5. Python自动化开发学习的第十一周----WEB基础(jquery)
  6. jvm-垃圾回收随时都可以STW吗?带你认识安全点和安全区域
  7. 关于ExtJS通过单击左边的treePanel在居中的panel加载页面问题
  8. 如何下载防盗链的歌曲?
  9. java继承调用先后_「继承顺序」JAVA继承顺序 - seo实验室
  10. Win8 Metro(C#)数字图像处理--2.50图像运动模糊
  11. mint java_Oracle Java 12 (JDK 12)在Ubuntu、Linux Mint或Debian(使用PPA)安装配置
  12. 自学python能学成吗-Python能自学成功吗?
  13. 拓端tecdat|互联网行业各大岗位分析,全是干货,不看你就OUT了
  14. Java详细安装配置教程(Windows),从下载到配置——Java-1.8(jdk)安装
  15. Java已死?一眼就能看懂的Java自学手册,挑战大厂重燃激情!
  16. Uniswap进化之路
  17. 【无机纳米材料科研制图——OriginLab 0206】Origin绘制X射线衍射XRD堆叠图
  18. 计算机专业论文提纲,计算机硕士毕业论文提纲(范文精选)
  19. mysql5717开发设置怎么调回来_mysql5.7.17安装配置图文教程
  20. Linux学习2.0(非markdown编辑)

热门文章

  1. 读美国教授写给被开除中国留学生的信感悟
  2. Wpf ListBox数据绑定实例1--绑定字典集合
  3. 头条号【编编成程】开通
  4. TSS ESS RSS
  5. PHP语言、浏览器、操作系统、IP、地理位置、ISP
  6. OpenStack点滴01-概览
  7. 访问iis元数据库失败怎么解决
  8. CSS样式小项目实战 - 网页变色小按钮
  9. 【SLAM笔记】如何使用Eigen进行矩阵运算
  10. vue鼠标移动上去提示_关于如何处理vue中鼠标悬停事件的详细说明