探索中国CIO人才现状 | 第四季调研报告
Oracle:Java在物联网时代拥有巨大潜力
2013-10-24  作者:CIO时代网 

  甲骨文公司正大力将Java推向嵌入式系统,但目前不少人质疑Java是否有能力承担这一职。如果听信甲骨文公司的单方面言论,那么大家肯定认为Java是我们在为嵌入式系统开发应用程序时的最佳选择——特别是那些涉及M2M(即设备对设备)通信的领域。嵌入式系统其实并不是什么新鲜事物,但最近一段时间“物联网”概念的升温再次将它推向时代的风口浪尖。不过Java在嵌入式领域的实际表现到底怎么样?结论似乎褒贬不一。


  尽管当下Java开发者的群众规模已经相当庞大,但嵌入式领域与我们所熟知的PC、移动以及浏览器区别很大。嵌入式开发要求大家应对诸多特殊因素,例如内存限制以及实时需求等——在这方面,C语言开发者的经验要相对丰富得多,这是因为C本身就具备很强的嵌入式开发定位。


  尽管如此,Java在嵌入式领域仍然具备极强的吸引力。Ovum公司分析师MichaelAzoff认为Java将成为争夺C份额的主要竞争者:“C语言是当下嵌入式领域的在位者,但当开发工作扩展到电子商务及企业应用范畴时,Java将成为关键性解决方案。”此外,Java在某些关键性嵌入式编程工作中确实有能力挑起大梁,他指出,最典型的例子就是内存管理。在最近召开的JavaOne技术大会上,Azoff就与多家极具成本效率且阵营强大的Java支持厂商进行了交流。嵌入式Java“如今正得其时,”他总结道。


  嵌入式开发者:C语言在实时性方面表现更出色


  不过Systronix公司CEOBruceBoyes对于Java在嵌入式开发领域的可行性表示怀疑。这家嵌入式系统设计厂商曾经尝试进行嵌入式Java开发,但随后又放弃了这一方向。他表示,对于实时嵌入式系统而言,C的表现要好得多、相比之下Java存在内存问题。Systronix公司正为商用电话亭系统提供技术支持,该系统使用的正是嵌入式Java。但最近更换的系统插座基板并未使用嵌入式Java,他指出。“Java根本没什么实际优势,而且C与C++方面拥有很多更为成熟且出色的免费开放工具可以选择。”


  Boyes回忆称,Java在本世纪初期的小型嵌入式领域表现得“一塌糊涂”。虽然经济衰退与缺乏晋升机制也产生了一定程度的影响,但Java创造方SunMicrosystems公司的其它失误才是导致自身崩溃的主要原因。“很长一段时间以来,嵌入式Java对于Sun公司来说只意味着移动电话,”Boyes表示。“它并不属于设备及流程控制机制,而且也从未进入过工业市场。”


  Java确实在不少手机产品上找到了自己的施展舞台。某款采用Dalvik虚拟机的Javafork就被应用在目前人气极高的Android移动平台当中,Boyes指出。而SunMicrosystems公司的SunSpot嵌入式平台也确实得到了认同,但他补充称,Sun为其附加了相当昂贵的授权许可限制。在小型控制器领域,Java根本没有立足的空间,这是因为它无法解决内存限制问题,他解释称。而且在他看来,Java应该可以在BeagleBoneBlack开发平台上找到生存空间。此外,他认为目前被应用在大部分智能手机与平板设备中ARM处理器上的Java也颇具活力。


  Java还必须面对Ruby语言的衍生版本等广受好评的嵌入式系统开发利器。最近Ruby创始人YukihiroMatsumoto——曾经针对嵌入式系统打造出mRuby衍生版本——将JavaME(即Micro版本)形容为“不能算是真正的Java”。ME缺乏Java最引以为傲的生态系统支持,而且需要投入大量资金,他表示。Boyes也对ME的未来前景表示怀疑:“它的设计思路还局限在十年之前。世界始终不断前进,现在他们终于开始讨论如何将Java推向现代化方向了。”


  嵌入式Java的却是构建


  尽管存在这样或那样的疑虑,嵌入式Java仍然迎风而上,Ovum公司的Azoff指出。主要原因之一在于:中间件的兴起让企业开始认真考虑在内部采纳Java。他同时表示,Java的内存问题已经是过去时了,“我们已经走出了那个内存受限的时代,而Java与现代芯片的协作效果非常突出,因此这已经不再是问题。”Java的现代化进程也使其在嵌入式系统当中获得收益,Azoff告诉我们。


  Azoff指出,嵌入式处理器厂商飞思卡尔也已经加入到Java嵌入式生态系统中来。飞思卡尔公司已经宣布将与甲骨文在工程、营销以及标准倡议等方面开展合作,希望合Java与飞思卡尔处理器之力共同拓展物联网业务。飞思卡尔将初步把注意力主要集中在有限资源平台身上,例如低成本、小尺寸微控制器等。该公司还将与甲骨文一道针对飞思卡尔i.MX应用程序处理器对Java进行强化,同时提升JavaME在飞思卡尔MQX嵌入式操作系统以及飞思卡尔微控制器中的表现。


  最近,半导体系统供应商瑞萨电子以及嵌入式软件供应商Micrium也开始与嵌入式软件厂商IS2T联合,共同为瑞萨的RX微控制器提供MicroEJJava平台。该联盟专注于改进用户在物联网应用领域的使用体验,例如智能电网、智能电表、家电、建筑以及家庭自动化等领域。


  此外,甲骨文还在着手对JavaSE(即标准版本)进行返工,旨在使其能够顺利作用于嵌入式系统开发环境。


  Java在嵌入式领域的地位正变得日益重要,IS2T公司CEOFedRivard表示。原因很简单:“我们最想要的平台之一就是Java平台,因为大家都拥有不少精研此道的技术工程师。”