InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

2006年度十大新闻:Richard Monson-Haefel称“拯救Java EE为时晚矣”

作者 Floyd Marinescu 译者 Jason Lai 发布于 2007年4月10日

领域
架构 & 设计,
运维 & 基础架构,
语言 & 开发
主题
JCP标准 ,
应用服务器 ,
调查 ,
Java
标签
Java EE ,
Podcasts

原文发表于2006年7月11日下午3时。

Burton Group的分析师Richard Monson-Haefel最近发表的题为《Java EE 5, the beginning of the End(Java EE 5:末路之始)》的分析报告在社区内引发了激烈论战。Richard Monson-Haefel因其所著的EJB书的畅销而为众人所知,那么他究竟说了些什么?Richard在一个Podcast中总结出报告的主要观点,摘要如下:

Java EE已经成为多元化市场中的主流技术。尽管JEE 5与其先前版本有些相似,但简化程度仍显不足。“JEE5确实向正确的方向迈进了一步,但显而易见的是,要挽救整个平台这还是显得杯水车薪,而且也太迟了。在接下去几年内,将会有越来越多的开发人员转而投向那些提供更简易开发环境的平台。我们将逐渐看清Java EE 5作为企业开发标准的藤蔓最终走向何方……开发机构在考虑新的企业应用开发时,应当另求他径,并且做好面对Java EE作为企业解决方案迈入迟暮之年的准备。

那么RMH所说的“过于复杂”指的是什么呢?RMH在报告和Podcast中指出以下几点:

  • Java EE试图在一个平台内完成所有事情,从而导致事情变得过于复杂
  • Java EE API的数量“尚未被简化、合并或剔除;这些API仍被放在原处,并且保持原有必要性”
  • Java EE的编程模型已经发生了第三次重大意义的变更
  • 支持Web服务的API也发生了改变
  • “规模庞大且复杂的Web开发框架被加入平台”
  • 平台变得更加复杂和令人生畏
  • 配置方面并没有比以前版本变得更加简单
    • 新的平台并没有削减需要配置的方面的数量,而仅仅将复杂性从XML部署描述符转移到了源码标记(Source Code Annotation)上
    • 开发人员仍然需要了解“所有配置选项以及它们对生产代码带来的影响”,但现在可以在代码中写入,避免在XML中配置
    • “JEE 5目前拥有两套独立但仍相互依赖的配置机制,而不像以前只有一套复杂机制”
  • “专注于功能涵盖面广度和灵活性,忽视了开发的简易性。Java EE的主要价值观已经变成了自身的阿喀琉斯之踵(致命的弱点)。”

目前已经有许多新闻媒体对这份报告进行了报导,并引发了一连串讨论。InternetNewsSteve Anglin 在O'Reilly进行了“Java EE是否足够轻量”的讨论。TSS也在今天对SearchWebServices的一篇文章发表了评论,该文章引用了RMH及其他分析师的观点,主张Java EE并不适合实现SOA,因此SOA的出现将导致Java EE变成下一个CORBA(已死)。

然而很重要的一点是,RMH的抨击目标仅限于Java EE,而非SE。“我认为,Java语言仍将继续繁荣发展,而且在接下去的许多年内,仍将是绝大多数企业应用开发的中流砥柱。”

深度内容

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。

解析JDK 7的动态类型语言支持

随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。

Java Remoting远程服务(下)

随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。

深入浅出Node.js(四):Node.js的事件机制

专栏的第四篇文章《Node.js的事件机制》。之前介绍了Node.js的模块机制,本文将深入Node.js的事件部分。

采访和书评:精通HTML5和CSS3设计模式

《精通HTML5和CSS3设计模式》一书记录了目前HTML5应用程序的许多常见设计模式。InfoQ对该书作者之一Dionysios Synodinos进行了采访,谈到了该书以及HTML5应用的相关内容。