編者按:當(dāng)語言技術(shù)走向前臺(tái),成為通信應(yīng)用“解決方案”的一種時(shí),Java與BREW之爭(zhēng)也日益明顯。今年初,中國(guó)移動(dòng)聯(lián)合移動(dòng)設(shè)備商、SP等舉辦了Java大賽,并且正在或?qū)⒁e辦類似活動(dòng),以大力推廣Java在手機(jī)、互聯(lián)網(wǎng)等通信領(lǐng)域的應(yīng)用。另一方面,從10月15日開始,中國(guó)聯(lián)通和美國(guó)高通公司合資成立的聯(lián)通博路公司在全國(guó)推廣基于BREW的應(yīng)用大賽,此舉吸引了包括媒體在內(nèi)的多方力量的關(guān)注。
針對(duì)這一形勢(shì),《計(jì)算機(jī)世界》組織了一個(gè)小型專題,就Java和BREW在通信領(lǐng)域應(yīng)用的趨勢(shì)探討。當(dāng)Java和BREW都有理由宣揚(yáng)自己的陣營(yíng)已經(jīng)確立時(shí),雖然我們還不知道這一場(chǎng)較量誰會(huì)更占優(yōu)勢(shì),但關(guān)于技術(shù)的討論,本身就是一個(gè)必要。在這兩篇針鋒相對(duì)的文章背后,不僅是兩個(gè)作者的工作差異,更多是兩大開發(fā)群體之間的對(duì)壘。
在經(jīng)歷了互聯(lián)網(wǎng)和電子商務(wù)的淘金時(shí)代后,Java已經(jīng)準(zhǔn)備好向通信領(lǐng)域發(fā)展,而且巨大的商業(yè)利益已經(jīng)顯現(xiàn)出來。據(jù)Ovum研究公司預(yù)測(cè),到明年初,Java技術(shù)將應(yīng)用于2.67多億部移動(dòng)設(shè)備,而Java手機(jī)目前已然在北美和歐洲大行其道。更有分析公司預(yù)測(cè),到2007年,幾乎的手機(jī)都將采用Java技術(shù),Java已經(jīng)回歸到嵌入式無線通信領(lǐng)域。
Java在嵌入式通信領(lǐng)域的應(yīng)用與發(fā)展頗具傳奇色彩。1991年出現(xiàn)的Oak(Java語言前身)技術(shù),初的設(shè)想是在冰箱、電視等信息家電產(chǎn)品中嵌入可編程通信控制平臺(tái),以實(shí)現(xiàn)這些設(shè)備間的數(shù)據(jù)通信。然而在當(dāng)時(shí),Oak并沒有受到開發(fā)者所希望的歡迎,整個(gè)市場(chǎng)對(duì)這一新技術(shù)語言的重視遠(yuǎn)遠(yuǎn)不夠。
1995年后全球爆發(fā)的互聯(lián)網(wǎng)絡(luò)信息革命為Java帶來機(jī)會(huì),Java成為眾多編程語言和編程技術(shù)中的黑馬,迅速成為全球各大IT廠商應(yīng)用開發(fā)平臺(tái)的新貴,不僅一躍成為桌面應(yīng)用(J2SE)平臺(tái),更在很短的時(shí)間內(nèi)成為企業(yè)級(jí)應(yīng)用(J2EE)開發(fā)平臺(tái)。
如今, Java已經(jīng)回歸到嵌入式無線通信領(lǐng)域,并且這次是有備而來。
從Sun到與Sun無關(guān)
在1999年的JavaOne大會(huì)上,Sun Microsystems 介紹了個(gè)袖珍版 Java和個(gè) KVM以及相關(guān)的類庫(kù),并于同年6月向Java團(tuán)體宣布了Java的個(gè)Java 2 Micro Edition(J2ME)版本,為開發(fā)者提供了一個(gè)無線開發(fā)工具包Wireless Toolkit(WTK),WTK可以讓開發(fā)者編譯(compile)、打包(package)、部署(deploy)和執(zhí)行(execute)J2ME應(yīng)用,這一工具包還包括一個(gè)仿真測(cè)試環(huán)境,該環(huán)境用于在資源受限的設(shè)備上對(duì)J2ME應(yīng)用進(jìn)行模擬運(yùn)行,這些仿真模擬器可以被當(dāng)做插件向通信設(shè)備廠商提供,同時(shí)由這些設(shè)備商向消費(fèi)者提供,例如摩托羅拉、諾基亞等。
遺憾的是,WTK中并不包含IDE開發(fā)環(huán)境和Debug調(diào)試環(huán)境,筆者認(rèn)為,之所以出現(xiàn)這樣的結(jié)果,主要原因不是Sun或JCP缺乏設(shè)計(jì)優(yōu)良IDE環(huán)境的能力,而是Sun發(fā)布J2ME平臺(tái)規(guī)范后,全球各軟件工具開發(fā)商“百家爭(zhēng)鳴”推出各自的IDE開發(fā)環(huán)境,雖然這樣防止了IDE技術(shù)的企業(yè)壟斷,卻也忽略了市場(chǎng)和用戶的個(gè)性需求。況且,自Java問世以來也沒有正式提供IDE開發(fā)環(huán)境的先例。這樣做的不利在于多版本差異,但也有好處,沒有正式的IDE開發(fā)環(huán)境,并不意味著開發(fā)者沒有開發(fā)環(huán)境,相反,專業(yè)開發(fā)者有更大的選擇余地來選擇合適的IDE,甚至從Opensource中獲得免費(fèi)的Wireless IDE工具,當(dāng)前一些主流Java開發(fā)工具已經(jīng)都有相關(guān)插件支持無線開發(fā)環(huán)境,例如Sun ONE Studio、JBuild、Oracle9i JDeveloper等。
從Sun發(fā)布袖珍版的Java技術(shù)標(biāo)準(zhǔn),到IDE多種類局面出現(xiàn),Java正走著一條整個(gè)產(chǎn)業(yè)化前進(jìn)的道路。
Java技術(shù)的典型代表J2ME
Sun 將 J2ME 定義為“一種以廣泛的、以消費(fèi)性產(chǎn)品為目標(biāo)的、高度優(yōu)化的 Java 運(yùn)行環(huán)境,這些環(huán)境包括尋呼機(jī)、移動(dòng)電話、可視電話、數(shù)字機(jī)頂盒和汽車導(dǎo)航系統(tǒng)等。”但由此也可以明顯看出,要為所有這些設(shè)備定義一種化、或者接近化的單一技術(shù)是不可能的,因?yàn)檫@些設(shè)備的處理器能源、內(nèi)存、固定存儲(chǔ)器和用戶界面的差異都非常之大。為解決這一問題,Sun 公司將適合 J2ME 的設(shè)備的配置分成各個(gè)部分,然后再進(jìn)一步細(xì)分,其他品牌的Java技術(shù)也采用了大體相同的方式。
在步的劃分中,Sun 將各種設(shè)備按照處理性能、內(nèi)存和存儲(chǔ)能力劃分成CDC和CDLC兩大類,需要說明的是,這一分類方法并沒有考慮應(yīng)用者終的使用目的。在這一基礎(chǔ)之上,Sun定義了 Java 語言的一個(gè)剝離版本,它能夠在每一類設(shè)備的限制下工作,也包括通信設(shè)備,同時(shí)提供限度的 Java 語言功能性,這一點(diǎn),對(duì)于作為消費(fèi)類產(chǎn)品的終端通信設(shè)備而言,非常重要。
移動(dòng)信息設(shè)備簡(jiǎn)表(MIDP)是J2ME補(bǔ)充CLDC配置的Java API集合,也是基于CDC和CDLC的上層。MIDP為開發(fā)者提供了計(jì)時(shí)器、簡(jiǎn)單固定存儲(chǔ)器、通過 HTTP 的連網(wǎng)等常用API,開發(fā)者可以通過MIDP提供的界面快速開發(fā)UI元素來構(gòu)造J2ME應(yīng)用,這些元素包括常用的:Alert 用于通過屏幕向用戶顯示有關(guān)異常情況或錯(cuò)誤的信息;Choice 用于實(shí)現(xiàn)從既定數(shù)量的選項(xiàng)中進(jìn)行選擇;ChoiceGroup 可提供一組相關(guān)選項(xiàng);Form 作為其他UI 元素的容器;List 提供選項(xiàng)列表;StringItem 提供只顯示(display-only)字符串功能;TextBox 允許用戶輸入和編輯文本的屏幕顯示;TextField 允許用戶輸入和編輯文本,多個(gè) TextField 可放到一個(gè) Form 中;DateField 作為可編輯組件,用于表示日期和時(shí)間信息,DateField 可以放到 Form 中;Ticker 用于文本的可滾動(dòng)顯示等。
當(dāng)開發(fā)者對(duì)界面控制有較高要求時(shí),可以使用Canvas技術(shù)來實(shí)現(xiàn)圖形化的界面輸出,利用Double buffering技術(shù)實(shí)現(xiàn)流暢的動(dòng)畫處理效果。MIDP還提供了記錄管理系統(tǒng)RMS(Record Management System),RMS的記錄管理系統(tǒng)存取數(shù)據(jù)到移動(dòng)設(shè)備中。在CLDC中提供一個(gè)通用的連接框架(Connection Framework),我們可以使用該連接框架從Web端發(fā)送和接收數(shù)據(jù),這一連接框架實(shí)現(xiàn)Http1.1協(xié)議。在企業(yè)級(jí)應(yīng)用開發(fā)中,HttpConnection或Socekt經(jīng)常會(huì)和Threads技術(shù)應(yīng)用在一起,以提供高性能的企業(yè)數(shù)據(jù)連接。熟悉Java Serverlet的開發(fā)者在編寫J2ME程序時(shí)并不會(huì)感覺環(huán)境的陌生,因?yàn)镴2ME為每個(gè)應(yīng)用提供了類似于Serverlet的有生命周期管理的MIDlet,每個(gè)J2ME應(yīng)用都必須擴(kuò)展MIDlet類,以便能夠讓應(yīng)用系統(tǒng)控制它。Model-View-Controller,(MVC,Model為維護(hù)應(yīng)用模型的狀態(tài),View指通過圖形或非圖形模式表現(xiàn)Model,Controller接收外部指令更新Model或View)J2ME的開發(fā)者必須參照MVC設(shè)計(jì)模式,因?yàn)檎麄€(gè)設(shè)計(jì)需要在完成UI步驟之前完全測(cè)試通過商業(yè)邏輯部分,以保證在仿真運(yùn)行環(huán)境下的聯(lián)調(diào)焦點(diǎn)放在UI控制上。
Java之于GPRS
GPRS是按歐洲電信協(xié)會(huì)GSM標(biāo)準(zhǔn)定義的封包交換協(xié)議,可快速接入數(shù)據(jù)網(wǎng)絡(luò)。它在移動(dòng)終端和網(wǎng)絡(luò)之間實(shí)現(xiàn)了“永遠(yuǎn)在線”的連接,而網(wǎng)絡(luò)容量只有在實(shí)際進(jìn)行傳輸時(shí)才被占用。現(xiàn)在,我們已經(jīng)習(xí)慣將移動(dòng)通信分為三代。代是模擬的無線網(wǎng)絡(luò); 第二代是數(shù)字通信,包括GSM、CDMA等;第三代是分組型的移動(dòng)業(yè)務(wù),稱為3G,TD-SCDMA、WCDMA和CDMA2000的所謂3G之爭(zhēng),已經(jīng)為常人所熟悉。
GPRS是通用無線分組業(yè)務(wù)的縮寫(General Packet Radio System),作為介于第二代和第三代之間的通信技術(shù),通常也被當(dāng)成2.5G,目前正通過升級(jí)GSM網(wǎng)絡(luò)實(shí)現(xiàn)它。
為了推動(dòng)GPRS,愛立信、PALM、IBM、Oracle和Symbian于1999年10月成立GPRS Application Alliance,即GAA。J2ME技術(shù)讓移動(dòng)設(shè)備擁有了自動(dòng)下載、部署和運(yùn)行Java應(yīng)用的環(huán)境平臺(tái),將復(fù)雜的程序處理從傳統(tǒng)的PC系統(tǒng)搬到輕巧、隨身攜帶的便攜移動(dòng)設(shè)備中,更為關(guān)鍵的是,J2ME的推出引發(fā)了手機(jī)等無線終端的增值業(yè)務(wù),既而逐漸培育出一個(gè)利潤(rùn)豐厚的無線應(yīng)用行業(yè)。由于技術(shù)開放、標(biāo)準(zhǔn)容易統(tǒng)一的特性,使得Java技術(shù)的上下游技術(shù)以及設(shè)備提供商都能夠準(zhǔn)確找到共同的利潤(rùn)點(diǎn),并加以放大,Java為全球無線增值業(yè)務(wù)提供了一個(gè)綠色的生態(tài)鏈。
目前,Java結(jié)合成熟的GPRS通信網(wǎng)絡(luò),已經(jīng)開發(fā)出多種增值無線應(yīng)用,同時(shí)也成為普及GPRS網(wǎng)絡(luò)的關(guān)鍵應(yīng)用技術(shù)。分析當(dāng)今主流的應(yīng)用成果,大致可歸納為娛樂游戲、位置服務(wù)、信息點(diǎn)播、電子商務(wù)、公共設(shè)施、企業(yè)應(yīng)用、開發(fā)工具等幾大類。
游戲娛樂類 這是當(dāng)前應(yīng)用已經(jīng)比較普遍、應(yīng)用種類也較繁多的一種應(yīng)用。通過GRPS網(wǎng)絡(luò),可以讓支持Java的手機(jī)用戶下載各種小游戲、視頻、圖片、電子小說等電子消費(fèi)類J2ME應(yīng)用,成為電信運(yùn)營(yíng)商推動(dòng)增值服務(wù)的核心業(yè)務(wù)。
位置服務(wù)類 這一類服務(wù)的本質(zhì)是,利用J2ME的圖形處理能力繪制全球定位系統(tǒng)并反饋位置數(shù)據(jù),從而為特殊行業(yè)用戶提供可視位置服務(wù)。
信息點(diǎn)播類 通過Http連接服務(wù),以J2ME應(yīng)用實(shí)現(xiàn)新聞、證券消息、天氣預(yù)報(bào)、生活等信息資訊的點(diǎn)播服務(wù),這一類服務(wù)也成為運(yùn)營(yíng)商下一階段大力推廣的業(yè)務(wù)模式。
電子商務(wù)類 通過J2ME提供的信息安全、傳輸技術(shù)實(shí)現(xiàn)手機(jī)銀行、無線交易、股票查詢等應(yīng)用系統(tǒng),當(dāng)前,無論是使用Java還是Brew的電子商務(wù)類應(yīng)用都還沒有廣泛推廣開來,這與整個(gè)消費(fèi)市場(chǎng)信用度有關(guān),同時(shí),在涉及到銀行與通信兩個(gè)領(lǐng)域的合作時(shí),有很多的問題還有待進(jìn)一步解決,有些還會(huì)涉及到法律層面的認(rèn)可問題。
公眾設(shè)施類 通過GPRS網(wǎng)絡(luò)連接到數(shù)據(jù)服務(wù)中心,對(duì)數(shù)據(jù)進(jìn)行無線遠(yuǎn)程操作,這類系統(tǒng)較為常見的有交通車輛信息查詢系統(tǒng)、身份證查詢系統(tǒng)等。
企業(yè)級(jí)應(yīng)用類 結(jié)合企業(yè)內(nèi)部業(yè)務(wù)管理系統(tǒng)實(shí)現(xiàn)無線辦公環(huán)境,這類系統(tǒng)主要針對(duì)企業(yè)用戶,應(yīng)用需求比較分散,常見的有接入到企業(yè)內(nèi)部辦公系統(tǒng)數(shù)據(jù)庫(kù)的無線辦公自動(dòng)化系統(tǒng)(例如炎黃盈動(dòng)的iWork/OA)、業(yè)務(wù)信息處理系統(tǒng),就市場(chǎng)發(fā)展來看,基于Java技術(shù)的企業(yè)級(jí)應(yīng)用也會(huì)在未來成為中國(guó)移動(dòng)運(yùn)營(yíng)商重要的收入來源之一。
開發(fā)工具類 為實(shí)現(xiàn)J2ME應(yīng)用而單獨(dú)提供的各種中間件、數(shù)據(jù)庫(kù)、Framework等,例如Sybase、Oracle的J2ME數(shù)據(jù)庫(kù)、XML解析器。
J2SE、J2EE和J2ME作為Java在三個(gè)不同方向的開發(fā)平臺(tái),運(yùn)行在資源受限設(shè)備上的J2ME平臺(tái)可以方便地與J2SE、J2EE應(yīng)用進(jìn)行通信,甚至可以共享J2EE或J2SE應(yīng)用的類程序,這降低了傳統(tǒng)Java程序向無線通信領(lǐng)域移植的難度,同時(shí)遍布全球的上百萬Java程序員及積累了近10年的Java技術(shù)資源,也降低了J2ME的入門難度,成為J2ME的支持者。從2003年的JavaOne大會(huì)可以看出,包括Sun在內(nèi)的眾多公司正將業(yè)務(wù)瞄準(zhǔn)J2ME市場(chǎng),例如Sun就推出了新的Sun開發(fā)商網(wǎng)絡(luò)移動(dòng)項(xiàng)目(Sun Developer Network Mobility Program),為項(xiàng)目成員提供完整的資源包,用于創(chuàng)建、測(cè)試和驗(yàn)證基于J2ME技術(shù)的應(yīng)用,并將這些應(yīng)用通過市場(chǎng)提供給消費(fèi)者和企業(yè),一旦具備市場(chǎng)環(huán)境條件,Java開發(fā)者大軍將會(huì)迅速向J2ME挺進(jìn)。
正是這些因素的影響,使得目前中國(guó)移動(dòng)當(dāng)前推動(dòng)的各種手機(jī)應(yīng)用和中國(guó)聯(lián)通與美國(guó)高通公司聯(lián)合推動(dòng)的Brew平臺(tái)形成對(duì)壘局面。無論掌聲來自何方,受益的將會(huì)是我們大眾消費(fèi)者。
相關(guān)鏈接
CLDC
J2ME平臺(tái)定義了兩個(gè)底層配置CDC和CLDC。其中,CDC(Connect Device Configuration,連接設(shè)備配置)規(guī)范用于PC機(jī)小、但同時(shí)具有多于 512K內(nèi)存的設(shè)備,這一類設(shè)備包括互聯(lián)網(wǎng)絡(luò)電視系統(tǒng)、機(jī)頂盒、POS系統(tǒng)、汽車導(dǎo)航以及娛樂系統(tǒng),這些應(yīng)用被運(yùn)行在JVM虛擬機(jī)中。
CLDC(Connected Limited Device Configuration ,有限連接設(shè)備配置)規(guī)范應(yīng)用于內(nèi)存128K到 512K之間的消費(fèi)類電子設(shè)備, 這一類別中典型的代表設(shè)備包含呼叫器、移動(dòng)電話、個(gè)人數(shù)字助理PDA和POS終端等。這些應(yīng)用通常在移動(dòng)設(shè)備的KVM虛擬機(jī)中運(yùn)行。
從J2ME類庫(kù)發(fā)展來看,CDC配置的類庫(kù)包含了J2SE1.3應(yīng)用程序接口類庫(kù)的一個(gè)子集,并針對(duì)資源受限設(shè)備做了擴(kuò)展。由于應(yīng)用于CLDC配置的設(shè)備資源更受限制的原因,CLDC配置類庫(kù)實(shí)際上完全是CDC類庫(kù)的子集。
Java回歸嵌入式無線通信
更新時(shí)間: 2007-06-21 11:25:17來源: 粵嵌教育瀏覽量:867
粵嵌動(dòng)態(tài)
推薦閱讀
- ·粵嵌科技獲批特級(jí)技師/首席技師認(rèn)定資質(zhì),物聯(lián)網(wǎng)技能人才培養(yǎng)再添權(quán)威背書!!
- ·代碼空間優(yōu)化技巧(如使用查表法替代復(fù)雜計(jì)算)?
- ·如何減少中斷延遲?
- ·深化校企合作,共譜產(chǎn)教融合新篇章 —— 廣州航海學(xué)院與粵嵌科技開展校企交流活動(dòng)
- ·校企聯(lián)動(dòng)促實(shí)踐!湖北工程學(xué)院 300 + 學(xué)子開啟企業(yè)級(jí)實(shí)訓(xùn)之旅!!
- ·粵嵌科技31項(xiàng)命題入選中國(guó)國(guó)際大學(xué)生創(chuàng)新大賽(2025)產(chǎn)業(yè)賽道,誠(chéng)邀高校團(tuán)隊(duì)共創(chuàng)未來!
- ·在資源受限(如內(nèi)存不足)的設(shè)備中如何實(shí)現(xiàn)功能擴(kuò)展?
- ·廣東賽鉑安智能科技有限公司專場(chǎng)招聘會(huì)
- ·設(shè)計(jì)一個(gè)低功耗傳感器采集系統(tǒng),需考慮哪些因素?
- ·校企聯(lián)動(dòng)促實(shí)踐!湖北工程學(xué)院 300 + 學(xué)子開啟企業(yè)級(jí)實(shí)訓(xùn)之旅!!