中国联通3G卡主推Java卡的是是非非


前一段时间,中国联通开始了3G Java卡的测试,这次参与测试的一些国内公司开始显示出技术方面的弱势。此前国内厂商无论在STK应用开发还是在OTA技术方面可以说一直都是主导着应用规范。让很多习惯于国际通用标准的外国厂商焦头烂额,备受煎熬。

然而在中国联通的3G Java卡方面,外国厂商的技术优势尽显。当然这其中也暴露出很多的问题。

首先,各家的Java卡平台并不完全兼容。这其中有硬件原因也有Java虚拟机本身在实现方面的差异。对于Java卡应用开发者可以使用的资源主要包括RAM内存,也就是所谓的transient memory,另外还有EEPROM,通常作为byte array。还有两个重要的参数一个是所谓的transaction buffer size,另外一个是APDU buffer size。在一些Java卡的applet中,经常会用到这些变量空间。而不同的厂商在这些空间的定义上是存在差别的,所以在某个平台上能够运行的程序未必也同样可以在另一个平台上运行。

其次Java卡的Applet运行效率要低于Native卡。主要是因为Java卡的applet是一种解释型的语言,需要虚拟机来对byte code进行解释并执行相应的命令。从某种意义上说,这也正是Java卡的优势所在,因为虚拟机的存在,应用的开发者不必去了解底层的细节,而主要关注应用的开发。即可以加快应用开发的速度,也可以实现Java语言的“一次编成,到处运行”的理念。

再有,国内的应用需求过于繁琐复杂。多数厂商只是一味地逢迎运营商的需求,而不是从技术实现的角度和运营商一起来规划合理的需求。Java卡作为一个标准的平台,虽然具有很多的优点,但是也有自己的局限性。其中最重要的一点就是应用的开发必须依托于03.19和03.48标准。对于国内运营商要求的左蹦右跳的菜单格式,自定义的OTA协议,标准的Java卡反而显得力不从心。

最后,很多国内厂商的产品并不是真正意义上的Java卡。一些公司推出的产品号称伪Java,也就是同样能够解释Java卡的byte code,但是却不具备符合SUN规范的虚拟机。这样的产品对于某些应用也许可以正常运行,然而不能保证真正兼容全部的Java卡applet。

我们相信随着联通公司对于Java卡的深入了解,在今后产品的描述方面可能会更具体,从而也能够保证产品之间具有很好的兼容性。

其实联通公司此前一直在推广自己的OTA产品,为什么还要推Java卡呢?这个问题也是让众多国内Native产品厂商感到困惑的。从某种角度来说,联通公司(也包括中国移动和中国电信)定义的所谓OTA完全是某些国内厂商试图制造门槛和壁垒用以限制竞争对手的策略。在运营商对于国际标准、通用规范不是很清楚地情况下,这样去做是可以的。但是随着运营商在技术方面的日益成熟,他们也会逐渐地认识到采用通用的国际标准的好处,而且Java卡本身是SUN公司一直在全球主推的多应用平台,具有太多自定义OTA所不具备的优势。面临3G的多应用环境,如果还一味地守着OTA平台不放,很可能作茧自缚。因为无论从技术实力还是从实际应用来说自定义的OTA都远不及Java卡更让人放心。

联通作为国内首家在3G领域主推Java卡的运营商,还有很长的路要走。Java卡在中国移动通信领域能否得到普及,眼下还很难下结论,不过采用成熟的技术和国际通用的标准应该是一个趋势。