这个月以来,Oracle在JDK和JVM的发展上,动作频频。为此,我们特地邀请了来自普元的资深架构师冯兴智博士、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捐献出来,而不是想着靠执照来盈利。现在的时代,竞争力是产品服务而不是软件的执照。 |