在 2006 年的 TSS 大会上,Cameron Purdy、Rod Johnson、Bruce Snyder、Bruce Tate、Floyd Marinescu 和 Ari Zilka 出席了“企业级 Java 之未来”座谈会。这个座谈会每年举行一次,本届主持人是 Ted Neward。您可以在 TSS 上观看该座谈会的视频。InfoQ 在本文中总结了座谈会的主要讨论内容,涵盖诸如“EJB 3 是否重要?”、开源 Java、Web 2.0、脚本语言等重磅级话题。除非明显的引用,本文内容是 InfoQ 对每个人发言的摘要总结,而非原话。
首先,主持人 Ted Neward 起了个引子,让专家组的每个人用一分钟时间阐述他们关于未来企业级 Java 之路的想法:
Bruce Tate:企业级 Java 发展势头良好,缺乏的是 Java 对低端应用开发支持(意指 Web 应用领域,毫无疑问是在暗指 Ruby on Rails)。
Ari Zilka:可扩展性一直是大趋势,让更多的机器来进行分布式工作,而不是把钱花在一台性能强劲的服务器上。“我认为,AOP 将会在今后极大地改变应用服务器市场的格局。”
Floyd Marinescu:Java 本身就在不断改变,而且不再是语言本身,而是 JDK + JVM = 字节码 = 任何一种语言。Java 正在向 DSL 和脚本语言的平台方向转变。Web 开发框架将会变成主要创新领域——Rails 就是明证,但是我们需要一个与 Java 能更好地整合的解决方案。Web 2.0 正将 Web 从发布平台转变为应用平台,其结果将改变我们应用开发的本质。
Bruce Snyder:同意 Web 2.0 的观点。开发应当变得更简单,API 也必须简化。讨论了这样一个问题:假如我们可以在一个元模型级别编码,而这个元模型将 EJB vs. JAX-WS 这样的部署细节抽象掉,并改由让你在编译期生成所有这些细节(听起来像 MDD),那将是一件多么绝妙的事情。不知怎么地,他把这个想法和 SOA 及 Web 2.0 联系在了一起。:)
Cameron Purdy:同意 Web 2.0 的观点,但认为我们不应假定 Java 是 Web 2.0 的基础。
Rod Johnson:对面向对象的重新发现感到很兴奋。EJB 持久化 API 使得我们可以构建不再贫血的真正领域对象。认为我们在接下去的数年将看见 AspectJ 的盛行。最难跟踪的是 JVM 将不仅仅限于 Java 语言,最难预测的是 Web 层今后将发生什么样的变化,因为其上有不计其数相互竞争的解决方案。
接下来,Ted 抛出了个颇有难度的问题:“你是否认为 EJB 已经成为明日黄花,万劫不复了?或者它还能在今后咸鱼翻身?”
Bruce Tate:“我偷偷插进一句话——我认为 EJB 3 已经入土为安了,而且 Rod 就是杀手。”
Rod Johnson:持久化部分很出色,应当得到广泛拥护。但其余部分和已有的方案相比,实在显得逊色很多,比如拦截能力等方面。(编辑解读: Spring+JPA 的组合要比 EJB 3 强大得多。)
Floyd Marinescu:这个问题实际上是在问“在开源的新世界中,标准扮演的角色是什么?”在开源世界中,市场份额最大的解决方案变成实际的标准,而这些解决方案并不像商业项目中那样要头疼厂商锁定(vendor lock-in)的问题,所以问题实际上就变成了,如果人们已经在用 Spring+Hibernate 了,他们还需要 EJB 吗?标准在大型企业内至关紧要,因为相比创新,他们更注重的是稳定性。但我不认为小项目会转投 EJB 3。
Bruce Tate:“我一点儿也不觉得 EJB 的意义有那么重大。说到底其实就是在 POJO 之上打包及消费服务,而这是 Spring、还有 JBoss,还有其它许多解决方案已经带给我们的了。这么一来,API 就显得十分次要了。”
Ari Zilka:对于任何重大变化,认清其中的催化剂是很重要的。对于持久化部分很早就有催化剂 / 需求,而且它们也会按照自己的方向持续发展下去。目前使用 EJB 2 的项目升级到 EJB 3 的理由并不充分,因为从功能角度看,发生的变化并不多。
接下来的讨论转向了 Linux 和开源。Rod 发表评论说,他发现 Linux 和 Java 的部署方案越来越多,但 Java 并没有与 Linux 紧耦合,这样很好。Bruce 认为,最成功的开源项目是由和善的专政者运营的。Floyd 指出,开源作为免受美国知识产权限制及威胁贸易禁止令的一种途径,对于新兴经济体很重要。
Cameron 提出,随着人们越来越寄希望于免费,公司方就必须不断创新,加大研发投资,才能保持自己的竞争力。但是,如果因销售萎缩而导致难以做出研发经费预算,那么将很难雇到最好的人。Rod 持反对意见,阐述到“我们并不因为开源免费而使用它,我们用它,是因为它确实好用”。其实取得广泛成功的开源项目很少,所以你可以像 Interface21 一样请到最好最聪明的人。同时,Rod 极力主张要避免过分意识形态化,开源的责任并不是去取代商业软件。
Ari 为商业公司建议了一个很有操作性的方法:“开源并不意味着人们会涌过来,争先恐后下载你的产品,然后调整里面的代码,然后为它增加价值,就好像你是 MySQL 或者 JBoss 公司一样。所以在很多时候需要在开源和免费间做抉择,我觉得厂商应当在他们进入开源这一行之前,就必须先向免费靠齐。”
在座谈会的最后,Floyd 为听众打消疑虑道:开源对于 Java 开发人员,将意味着更多的工作保障,因为软件开发上持续削减的成本将使公司更专注于使用软件解决业务问题。Floyd 又指出,本次座谈会三年来第一次在讨论过程中没有出现过任何对来自 .NET 竞争的担忧,这也是 Java 社区业已取得成就的一种反映。
评论