【编者按】虚拟座谈会是 InfoQ 中文站新近推出的一类讨论形式的虚拟会谈,一般会就最近发生在业界的技术事件,邀请来自社区、厂商、开发者、技术媒体的代表,对其表达自己的看法和理解,为国内的广大社区和技术从业者指明技术发展的方向,互相促进,共同提高。
这个月以来,Oracle 在 JDK 和 JVM 的发展上,动作频频,具体可参见 InfoQ 中文站的内容。为此,InfoQ 特地邀请了来自普元的资深架构师冯兴智博士、Oracle 大中华区产品战略部总监刘松先生、IBM 中国开发中心 CTO 及 IBM 杰出工程师毛新生先生、淘宝网资深总监及开放平台副总裁王文彬博士,就下面的问题发表了自己的见解。
1. 您觉得 Oracle 对 Java 的发展做出的选择,是基于怎样的考虑呢?您觉得 Java 的未来之路在哪里?
冯:对于 Java 发展的选择,Oracle 作为一个商业公司更多的是从商业上的考虑,例如在 JDK 版本上计划中的 JDK7 就没有包含模块化和 Swing 应用框架这些开发者社区讨论了很久并且非常兴奋的新特性。从另一个角度看,Java 的发展也确实需要有领导厂商的推动,才能保证新版本的按时推出。
对于 Java 未来,由于有 IBM 和 Oracle 公司的合作推动,Java 前景还是非常光明的。并且有广大的开发人员支持,目前比较看好 OpenJDK。Oracle 已经表态 JRockit 与 HotSpot 将会合并为单独一个 JVM,,合并后的成果将会持续不断地加到 OpenJDK 当中,由于 Oralce 未来对 JVM 采取开源和商业两种模式,所以很多企业级特性估计将会只包含在商业版本中。
Java 的未来在于进入企业核心应用和关键业务领域,例如银行的新一代核心系统。其价值与其他新兴技术相比,优势在于服务器端。
刘:在不久前圆满结束的旧金山 JavaOne 大会上,Oracle 软件开发部的执行副总汤玛斯 库利安 (Thomas Kurian;以下简称“库总”) 对所有关切 Java 未来走势的粉丝们说明未来的发展规划。库总激动地表示:“甲骨文深信,Java 社区期待成果。凭借我们在 Java 平台持续地增加投资,聚焦在向社区提供价值的功能上,和不懈地专注于提升性能,Java 语言和平台的未来是光明的”。“此外,甲骨文将继续致力于将 OpenJDK 作为最好的开源 Java 实现,我们并将继续改善 OpenJDK,同时更欢迎外部的贡献者”。
- Java SE 部分 - 甲骨文正在推进 Java 平台,将其优化来支持新的应用模式和硬件,包括对脚本语言的扩展支持,提高开发人员的生产力并降 低运营的成本。
- Java EE 部分 - Java EE 将继续演化,使应用服务器更加模块化,此外通过包括诸如依赖注入等新功能的提升,使编程更加有效率,同时降低配置 要求。
毛:首先,Oracle 最近确实在多个领域推动着 Java 的发展,尤其是在 OpenJDK 社区的建设上,更加开放,这是顺应广大 Java 社区开发者的要求。一个特别大的变化是,IBM 在 10 月份的时候,宣布加入到 OpenJDK 社区,和 Oracle 一道加速 Java 平台革新的步伐,并将通力合作继续优化 JCP,推进 Java 规范方面的主要工作。 IBM 和 Oracle,作为 Java 阵营中的两个最大的支持者,对于 Java 的承诺,以及 RedHat、Apple 等厂商的先后加入 OpenJDK 的社区,这些变化打消了许多人对于 Java 未来的顾虑,对于建立一个良好的 Java 生态环境非常重要。大家现在可以基于共同的类库代码,将核心的平台开发群体联合起来。而 Java 的未来之路也正在于这个开放健康的生态环境,这是 Java 能够继续创新的土壤。值得指出的是,IBM 在 OpenJDK 中关注的重点是类库,同时将继续开发和使用 IBM 自有的 J9 虚拟机。未来多个虚拟机实现之间的竞争将持续促进 Java 底层的不断创新。
王:Oracle 是一个大公司,所以它作出的选择一定会相对比较保守。它的原则我在臆测是防守型的策略,也就是平常是不会介入 Java 方向的定制,但是会去防范对手把 Java 变成对手自己的优势。所以才会有些侵权的诉讼及和 Apache 之间的纠纷。Java 我认为还是相对开放的。Oracle 也知道如果大家都不支持 Java,那么这个语言很快会被其他新的语言取代。
2. 对于国内那些仍然依赖 Java 平台的软件厂商,如何选择未来的 Java 中间件技术,关系到很多企业主干应用的发展,对此您有怎样的建议呢?
冯:对于软件厂商来说,基于 Java 平台的应用服务器、企业服务总线、消息中间件、流程引擎这些企业应用的关键运行平台还会在相当长的时间内被广泛使用。但是随着硬件技术的飞速发展,以及新的应用模式和商业模式例如 SOA、云计算的出现和成熟,面向企业应用的开发语言例如 JAVA 越来越需要关注并行计算、多核编程、极限事务处理等。例如金融行业,现在 Java 慢慢也在逐步走入金融核心领域,很多集成商和行业最终用户都在基于 Java 和 SOA 做银行的新一代核心。而且轻量级的 IOC 容器、OSGi 的应用服务器已经逐步成为主流,尤其是在云计算的大环境下,EJB 在慢慢老去,企业应用的互联网化、“云化”是大势所趋。
刘:在此建议未来国内企业主干应用中间件的选择和应用的 开发,要持续关注 Java EE 标准规范的发展,如此才能一如以往般,继续保持跨不同应用服务器产品间移植的弹性,未来不至于被特定的平台限制或锁定。在我们在合并了 Sun 之后,Glassfish 将继续担任 Java EE 的开源参考实现 (RI) 平台,和 WebLogic 并列为 Oracle 两大重点支持的战略应用服务器。
毛:目前基于 Java 中间件的平台领导者,像 IBM, Oracle 还有 RedHat 的 JBoss,都一起携手 OpenJDK 的建设。这对于国内依赖于 Java 平台的厂商是件好事情,因为这些联盟会加快 Java 平台的创新,并且会吸引更多的软件厂商参与到 Java 生态环境的建设当中,这是一个良性的循环。当然,既有合作又有竞争,IBM 还会在基于开放 Java 技术的基础上,增加更加高级的功能,推出更强大的中间件产品,以满足更多客户,和企业级核心应用的要求。
王:选择中间件技术和使用的语言我觉得可以分开考量。也就是说,我们应该相信 Java 以后的开放性,而可以自由选择架构在上面的中间件。当然,我认为上面的中间件还是以开源的产品最有竞争力。
3. 对于从事 Java 开发的广大开发者,您有什么样的话要说?
冯:多语言混搭技术是趋势,建议多关注一些基于 JVM 的脚本化语言如 Fantom、Groovy、JRuby、Clojure 以及 Scala 等。学习并掌握基于消息的编程思想,关注 Erlang 这样轻量级进程的语言。鉴于 Oracle 的商业运作模式,基于 JVM 作商业化版本提供企业级特性,因为有技术门槛可能会形成比较高的技术和经济价值。
刘:一如库总所强调:Java 不但对 Oracle 自身至 为关键,更重要的是,在经历了一段风风雨雨和停顿之后,Java JCP 社区成员们团结一致,让 Java 平台重启势头,恢复动力,是我们的当务之急。库总在大会上,还通过比较委婉的语气,表达了这样的意思:Sun 之前有许多挺好的想法,但不见得具备能力(和足够的预算)来 把它们具体落地;现在 Oracle 打算运用自身的执行力(例如之前对 BEA 和其他 Java 厂商的收购和整合)来落实交付,让 Java 再次动起来。 总结一句话:伟大的 Java ,能有今天的成就,非常不容易,甲骨文想让它变得更好,更欢迎大家加入我们的行列。
毛:对于广大 Java 开发者来说,包括 IBM 在内的更多的厂商对 Java 的承诺,和 OpenJDK 的建设,会为 Java 的革新和发展注入新的活力。另外,IBM 一直以来对于开放源码和开放标准的支持,会大大的推动 Java 生态环境的健康发展,比如,引导 JCP 向着一个更民主,透明和开放的方向发展。此外,对于 Java 开发者所需要的相关开发环境和框架,比如 Eclipse 社区的发展,也会随着 Java 的发展而更加壮大,被更大范围的接受。
王:建议 Oracle 像 IBM 捐献 Eclipse 一样把 Java 捐献出来,而不是想着靠执照来盈利。现在的时代,竞争力是产品服务而不是软件的执照。
欢迎持续关注 InfoQ 中文站虚拟座谈会内容。
评论