TSS座谈会上Cameron Purdy, Rod Johnson, Bruce Snyder, Bruce Tate, Floyd Marinescu和Ari Zilka作了一个“企业级Java的未来如何?”的座谈。
下面是infoQ上关于这个座谈的一个总结,不是原文,是摘要。
首先大家谈一谈关于企业级Java的未来的想法:
Bruce Tate:企业级Java状态良好,缺乏的是Java对低端应用开发的支持(在Web应用领域看,明显是在暗指Ruby on Rails)。
Ari Zilka:可伸缩性问题突显出来,将会倾向于让更多的机器分布式工作来代替花很多钱在一台巨强的机器。“我认为AOP将会改变应用程序服务器市场的面貌。”
Floyd Marinescu:Java本身正在变化,它不再是单纯的语言,它是JDK+JVM=bytecode=任何语言。Java将成为DSL和脚本语言的平台。Web开发框架将会是创新的领域。Rails就是证据。但是我们需要这种形式与Java的更优整合。Web2.0正在使web从一个发布平台向一个应用程序平台转变,它会改变我们所做的应用程序开发。
Bruce Snyder:同意Web2.0的观点。开发必须要更简单,API必须简化。说说这个东西到底有多酷,如果我们对元模型编码,将他们从开发中抽象出来,就像EJB vs. JAX-WS,而且你可以在编译时生成它们(听起来像MDD,模型驱动开发)。这种方式可能与SOA和Web2.0的想法相关联。
Cameron Purdy:同意关于Web2.0的观点,但实际上是我们不应该假设Java会是Web2.0应用的基础。
Rod Johnson:很兴奋的看到面向对象开发的复兴。EJB持久化API润许我们构造真正的领域模型,而不是贫血的。我们将会看到AspectJ在未来的几年中应用越发广泛。最难理解的是JVM而不是Java。最难预测的是Web曾将会发生什么,有大量相互竞争的实现。
Ted问了一个很难回答的问题:你认为EJB的机会的窗口已经关闭了么?将会永远的关闭,或者还有机会?
Bruce Tate:“我偷偷的告诉你,我认为EJB3已经死了,是Rod扼杀了它。”
Rod Johnson:持久化部分令人敬畏,并且将会被广泛拥抱。其它部分比起现在的方案要差,例如监听能力。[编辑解释:Spring+JPA将好于EJB3]。
Floyd Marinescu:这个问题实际上是“标准在新的开源世界中将扮演什么角色”?在开源世界中,最好的解决方案会成为标准,并且这样的方案不会变成厂商依赖而所定于某种商业项目,所以真正的问题是人们在已经有了Spring+Hibernate的时候是否会接受EJB。标准将会带来大面积的合作,这里稳定性问题要比创新更重要,但是我不认为小的项目会转入EJB3中。
Bruce Tate:“我不那样认为,EJB与那些都无关。它主要是包装和消灭POJO周围的服务,比如Spring……比如JBoss,它们给我们的很多东西和周围的API都是第二位的。”
Ari Zilka:一定要分辨出巨大变化的催化剂。对持久化部分有催化剂/需求,并且它是独立的。目前EJB2的项目没有足够的理由转移到EJB3,因为在功能角度没有足够多的变化。
而后是一些关于开源、Linux等方面的问题,具体参照原文。
http://www.infoq.com/news/Future-of-Enterprise-Java-Panel
抽出一下:
1、Java从语言转向平台。如同.Net,JVM本身提供了平台的抽象。将会扩展动态语言与脚本语言的支持。
2、企业应用的开发过程将简化,如MDD一类,但目的是集中精力开发商业逻辑,而不是纯简化代码或者什么什么。小型应用可能会转向动态语言或脚本语言所营造的舒适开发框架,如RoR,或其它Rails。
3、富领域模型替代贫血模型,基于JPA。
4、目前的AOP、IoC工具依然会流行,而不一定会限定于EJB3模型中。事实说了算,Spring这种事实性标准影响力还是很大的。
5、分布式的考虑,可伸缩型问题凸显。如何透明实现分布式是个关键性问题,AOP是技术契机。
6、Web2.0会产生巨大影响力,但Java绝不是唯一选择。Java要找好自己的位置,同时在平台上最好能够更多的融合,如让JVM支持PHP/Ruby/Python。
7、Web部分竞争激烈,并会持续。EJB3的JSF命运难测。看Web2.0的浪潮了。