中國聯通3G卡主推Java卡的是是非非

鄒德強發表於2012-07-20

中國聯通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卡在中國行動通訊領域能否得到普及,眼下還很難下結論,不過採用成熟的技術和國際通用的標準應該是一個趨勢。

相關文章