摘? 要: 基于消費類電子設(shè)備的嵌入式開發(fā)技術(shù)J2ME的體系結(jié)構(gòu),、核心概念,探討了基于J2ME平臺的企業(yè)無線應(yīng)用開發(fā),并給出了一個應(yīng)用實例,。
關(guān)鍵詞: J2ME技術(shù)? MIDP規(guī)范? 無線網(wǎng)絡(luò)
?
J2ME是SUN公司提出的基于消費類電子設(shè)備的嵌入式開發(fā)技術(shù),它將為新一代無線Internet提供交互式的,、可移植的,、部署靈活的,、安全的應(yīng)用,。J2ME省略了WAP網(wǎng)關(guān),直接通過HTTP或Socket協(xié)議進(jìn)行網(wǎng)絡(luò)通信,大大提高了傳輸速度,。運用J2ME技術(shù)能在小型電子設(shè)備上實現(xiàn)更豐富和更有價值的應(yīng)用系統(tǒng),如企業(yè)無線MIS系統(tǒng),它結(jié)合企業(yè)ERP系統(tǒng)可提高企業(yè)的運作效率,。
1? J2ME體系結(jié)構(gòu)
J2ME是Java2技術(shù)架構(gòu)的組成部分,。隨著Java技術(shù)的不斷發(fā)展,SUN公司根據(jù)市場的不同需求進(jìn)一步將Java2細(xì)分為三個版本:企業(yè)版J2EE(Java2 Platform Enterprise Edition)是面向企業(yè)環(huán)境開發(fā)應(yīng)用程序的解決方案;標(biāo)準(zhǔn)版J2SE(Java2 Platform Standard Edition)是面向桌面開發(fā)和低端設(shè)備應(yīng)用的解決方案;小型版J2ME(Java2 Platform Micro Edition)是致力于消費類電子產(chǎn)品和嵌入式設(shè)備的最佳解決方案,。
1.1 J2ME的層次結(jié)構(gòu)
J2ME是專門面向小型設(shè)備應(yīng)用的簡易平臺,這里的小型設(shè)備指移動電話、PDA,、網(wǎng)絡(luò)電話,、電視機頂盒、自動娛樂系統(tǒng),、導(dǎo)航系統(tǒng)以及家用自動電器等,。為了支持品類繁多的設(shè)備類型,滿足市場對靈活性與個性化的需求,J2ME采用了模塊化、可升級的體系結(jié)構(gòu),。其底層是宿主機的操作系統(tǒng),內(nèi)部則分為:Java虛擬機(JVM)層,、配置(Configuration)層和框架(Profile)層。
(1)Java虛擬機層
本層是Java虛擬機執(zhí)行層,它是專門針對特定設(shè)備的嵌入式操作系統(tǒng)定制的,支持特定的J2ME配置,。J2ME支持的Java虛擬機有二種:①CVM,其功能與傳統(tǒng)的虛擬機非常接近,適用于擁有至少幾兆字節(jié)內(nèi)存的高端消費類設(shè)備,如網(wǎng)絡(luò)電話,、電視機頂盒等;②KVM,專用于內(nèi)存小,、資源有限、能上網(wǎng)的設(shè)備,如移動電話,、PDA等,。
(2)配置層
這一層定義了Java虛擬機的最小功能集和Java類庫的最小集合,是框架層的基礎(chǔ)。J2ME目前有二種配置:一種是連接設(shè)備配置(CDC),它的基礎(chǔ)虛擬機是CVM;另一種是有限連接設(shè)備配置(CLDC),它的基礎(chǔ)虛擬機是KVM,??梢詫DC設(shè)備描述為共享的、固定的連接信息設(shè)備,將CLDC設(shè)備描述為個人化的,、移動的連接信息設(shè)備,。
(3)框架層
在配置層的基礎(chǔ)上,框架層又為一些特定的縱向市場、設(shè)備類型或者工業(yè)界額外定義了一些API和特性,??蚣苤械念悗焓归_發(fā)人員可以訪問一些設(shè)備特有的功能,如圖形用戶界面、網(wǎng)絡(luò)通信,、持久存儲等,。任何一種框架都是在特定的配置層基礎(chǔ)上實現(xiàn)的,擴充了附加的JVM功能集與類庫,而一種配置層可以同時支持多種框架層。如果設(shè)備支持相同的框架(如不同廠家生產(chǎn)的手機),則同一個Java應(yīng)用程序可以在不同的設(shè)備之間通用,。目前在CLDC上只定義了一種框架,即MIDP(Mobile Information Device Profile)。用于PDA設(shè)備的基于CLDC配置層的框架PDAP正在制定當(dāng)中,。目前,構(gòu)建于CDC上的框架有基礎(chǔ)框架和RMI框架,。基于CDC的個人框架(Personal Profile)也正在定義之中,。
1.2 用于無線設(shè)備的J2ME
MIDP,、CLDC和KVM組成了開發(fā)無線Java應(yīng)用的基礎(chǔ)。圖1列出了用于無線應(yīng)用的J2ME體系結(jié)構(gòu),。
?
MIDP應(yīng)用可稱為MIDlet,它必須擴展javax.microedition.midlet.MIDlet類并實現(xiàn)其定義的三個抽象方法:startApp(),、pauseApp()和destroyApp()。MIDlet在執(zhí)行過程中包括運行,、暫停和銷毀三個有效狀態(tài),。這三種狀態(tài)間的轉(zhuǎn)換是由AMS(Application Management Software)通過調(diào)用MIDlet類定義的以上三個方法控制的。這是一種基于回調(diào)(Callback)的機制,。圖2展示了通過調(diào)用這三種方法實現(xiàn)三種可能狀態(tài)間的轉(zhuǎn)換,。
?
2?基于J2ME的無線網(wǎng)絡(luò)應(yīng)用開發(fā)研究
2.1 服務(wù)端設(shè)計
在當(dāng)今電子商務(wù)應(yīng)用中,J2EE以其可擴展性、靈活性成為服務(wù)端事實上的開發(fā)標(biāo)準(zhǔn),。J2EE為企業(yè)開發(fā)提供了豐富的技術(shù)組件,如JDBC,、EJB、JSP和Servlet等,。這些組件相互關(guān)聯(lián)構(gòu)成了服務(wù)端的J2EE應(yīng)用,。
J2ME將移動設(shè)備上的客戶應(yīng)用與后臺J2EE服務(wù)環(huán)境完美結(jié)合起來,使建設(shè)一個無線接入的企業(yè)網(wǎng)絡(luò)成為可能,。任何時間、任何地點的自由訪問功能不僅擴大了企業(yè)市場影響力,、提高了客戶服務(wù)水平,而且降低了企業(yè)IT運行成本,。
2.2 客戶端設(shè)計
基于J2ME的無線網(wǎng)絡(luò)應(yīng)用的開發(fā)可以使用CLDC和MIDP規(guī)范中定義的豐富類庫。這二個規(guī)范定義了無線設(shè)備開發(fā)的各個方面,包括用戶界面,、數(shù)據(jù)存儲和網(wǎng)絡(luò)訪問能力等,。
在CLDC中為網(wǎng)絡(luò)訪問定義了通用連接框架,其通用格式是:Connector.open(″ 下面以一個網(wǎng)絡(luò)運行狀態(tài)監(jiān)控系統(tǒng)的無線應(yīng)用模塊為例,具體說明基于J2ME的無線網(wǎng)絡(luò)應(yīng)用的開發(fā)。 (1)系統(tǒng)及模塊功能 該網(wǎng)絡(luò)運行狀態(tài)監(jiān)控系統(tǒng)的設(shè)計目的是對企業(yè)的計算機網(wǎng)絡(luò)系統(tǒng)的運行狀態(tài)進(jìn)行實時監(jiān)控和報警,。該系統(tǒng)可以實時采集網(wǎng)絡(luò)運行資料,、判斷網(wǎng)絡(luò)運行狀況并對網(wǎng)絡(luò)故障報警。無線應(yīng)用模塊的主要功能是:通過手機等無線設(shè)備進(jìn)行網(wǎng)絡(luò)故障報警,對網(wǎng)絡(luò)運行狀態(tài),、網(wǎng)絡(luò)設(shè)備,、維護負(fù)責(zé)人等信息進(jìn)行查詢,方便對網(wǎng)絡(luò)運行的實時監(jiān)控和維護工作。 (2)代碼演示 本文以一段MIDP程序為例,演示MIDP程序的開發(fā),。下面的MIDP程序首先讓用戶輸入賬號和密碼以便登錄到服務(wù)器,。登錄成功后顯示一個報警和信息查詢的列表(如故障報警、網(wǎng)絡(luò)運行狀態(tài)等),然后根據(jù)用戶的選擇從服務(wù)器查詢相應(yīng)信息,最后將從服務(wù)器返回的信息顯示給用戶,。限于篇幅,這里只給出部分代碼,。 ①以下代碼主要實現(xiàn)MIDlet類中與生命周期相關(guān)的抽象方法,。 ?、谝韵麓a片斷完成與服務(wù)器交互、讀取查詢信息的功能。 3? 結(jié)? 論 J2ME平臺把Java技術(shù)引入到了嵌入式設(shè)備平臺,。它定義了功能強大的,、安全的、可移植的應(yīng)用開發(fā)的標(biāo)準(zhǔn)平臺,。隨著移動通信設(shè)備的日益普及,移動通信增值服務(wù)正成為新的業(yè)務(wù)增長點,。因而J2ME必然會在無線設(shè)備應(yīng)用程序開發(fā)領(lǐng)域大顯身手。J2ME將以其強大的功能,增進(jìn)對各廠商產(chǎn)品與技術(shù)的兼容性,加強服務(wù)的交互能力,使移動通信增值服務(wù)更加個性化和智能化,從而更大地發(fā)揮移動通信的優(yōu)勢,。 ? 參考文獻(xiàn) 1? 黃聰明.Java移動通信程序設(shè)計——J2ME MIDP.北京:清華大學(xué)出版社,2002 2 ?Tremblett P著,王伯欣譯.J2ME無線Java應(yīng)用開發(fā).北京:人民郵電出版社,2002 3? Yu F著,林琪譯.J2ME程序設(shè)計.北京:中國電力出版社,2003 4? Dreamtech著,趙剛譯.基于J2ME的無線設(shè)備編程源代碼解析.北京:電子工業(yè)出版社,2002