J2ME是SUN公司提出的基于消費類電子設備的嵌入式開發技術,它將為新一代無線Internet提供交互式的、可移植的、部署靈活的、安全的應用。J2ME省略了WAP網關,直接通過HTTP或Socket協議進行網絡通信,大大提高了傳輸速度。運用J2ME技術能在小型電子設備上實現更豐富和更有價值的應用系統,如企業無線MIS系統,它結合企業ERP系統可提高企業的運作效率。
1 J2ME體系結構
J2ME是Java2技術架構的組成部分。隨著Java技術的不斷發展,SUN公司根據市場的不同需求進一步將Java2細分為三個版本:企業版J2EE(Java2 Platform Enterprise Edition)是面向企業環境開發應用程序的解決方案;標準版J2SE(Java2 Platform Standard Edition)是面向桌面開發和低端設備應用的解決方案;小型版J2ME(Java2 Platform Micro Edition)是致力于消費類電子產品和嵌入式設備的最佳解決方案。
1.1 J2ME的層次結構
J2ME是專門面向小型設備應用的簡易平臺,這里的小型設備指移動電話、PDA、網絡電話、電視機頂盒、自動娛樂系統、導航系統以及家用自動電器等。為了支持品類繁多的設備類型,滿足市場對靈活性與個性化的需求,J2ME采用了模塊化、可升級的體系結構。其底層是宿主機的操作系統,內部則分為:Java虛擬機(JVM)層、配置(Configuration)層和框架(Profile)層。
(1)Java虛擬機層
本層是Java虛擬機執行層,它是專門針對特定設備的嵌入式操作系統定制的,支持特定的J2ME配置。J2ME支持的Java虛擬機有二種:①CVM,其功能與傳統的虛擬機非常接近,適用于擁有至少幾兆字節內存的高端消費類設備,如網絡電話、電視機頂盒等;②KVM,專用于內存小、資源有限、能上網的設備,如移動電話、PDA等。
(2)配置層
這一層定義了Java虛擬機的最小功能集和Java類庫的最小集合,是框架層的基礎。J2ME目前有二種配置:一種是連接設備配置(CDC),它的基礎虛擬機是CVM;另一種是有限連接設備配置(CLDC),它的基礎虛擬機是KVM。可以將CDC設備描述為共享的、固定的連接信息設備,將CLDC設備描述為個人化的、移動的連接信息設備。
(3)框架層
在配置層的基礎上,框架層又為一些特定的縱向市場、設備類型或者工業界額外定義了一些API和特性。框架中的類庫使開發人員可以訪問一些設備特有的功能,如圖形用戶界面、網絡通信、持久存儲等。任何一種框架都是在特定的配置層基礎上實現的,擴充了附加的JVM功能集與類庫,而一種配置層可以同時支持多種框架層。如果設備支持相同的框架(如不同廠家生產的手機),則同一個Java應用程序可以在不同的設備之間通用。目前在CLDC上只定義了一種框架,即MIDP(Mobile Information Device Profile)。用于PDA設備的基于CLDC配置層的框架PDAP正在制定當中。目前,構建于CDC上的框架有基礎框架和RMI框架。基于CDC的個人框架(Personal Profile)也正在定義之中。
1.2 用于無線設備的J2ME
MIDP、CLDC和KVM組成了開發無線Java應用的基礎。圖1列出了用于無線應用的J2ME體系結構。
MIDP應用可稱為MIDlet,它必須擴展javax.microedition.midlet.MIDlet類并實現其定義的三個抽象方法:startApp()、pauseApp()和destroyApp()。MIDlet在執行過程中包括運行、暫停和銷毀三個有效狀態。這三種狀態間的轉換是由AMS(Application Management Software)通過調用MIDlet類定義的以上三個方法控制的。這是一種基于回調(Callback)的機制。圖2展示了通過調用這三種方法實現三種可能狀態間的轉換。
2 基于J2ME的無線網絡應用開發研究
2.1 服務端設計
在當今電子商務應用中,J2EE以其可擴展性、靈活性成為服務端事實上的開發標準。J2EE為企業開發提供了豐富的技術組件,如JDBC、EJB、JSP和Servlet等。這些組件相互關聯構成了服務端的J2EE應用。
J2ME將移動設備上的客戶應用與后臺J2EE服務環境完美結合起來,使建設一個無線接入的企業網絡成為可能。任何時間、任何地點的自由訪問功能不僅擴大了企業市場影響力、提高了客戶服務水平,而且降低了企業IT運行成本。
2.2 客戶端設計
基于J2ME的無線網絡應用的開發可以使用CLDC和MIDP規范中定義的豐富類庫。這二個規范定義了無線設備開發的各個方面,包括用戶界面、數據存儲和網絡訪問能力等。
在CLDC中為網絡訪問定義了通用連接框架,其通用格式是:Connector.open(″:
:″)。該通用格式連接框架實現了一種運行時綁定的機制,協議、地址等信息都作為Open函數的參數來傳遞。因此MIDP規范支持的各種協議(如HTTP、Socket、Datagram、SMS、串行端口通信和文件I/O等)都使用這種一致的方法。運行時由該通用框架為客戶選擇具體的實現。MIDP通過HTTP協議連接互聯網的實例有:Connector.open(:8080)。HTTP協議是所有支持J2ME的無線設備必須實現的,它在MIDP框架和J2EE平臺之間搭建了傳輸的橋梁。JSP、Servlet通過HTTP協議建立起與客戶端基于請求/響應的動態模式。MIDP支持HTTP1.1,使用GET和POST與網絡層進行通信,產生HTTP報頭和數據。在MIDP2.0中,通用連接框架還將支持HTTPS協議,通過HTTPS連接可確保信息的安全傳輸。
下面以一個網絡運行狀態監控系統的無線應用模塊為例,具體說明基于J2ME的無線網絡應用的開發。
(1)系統及模塊功能
該網絡運行狀態監控系統的設計目的是對企業的計算機網絡系統的運行狀態進行實時監控和報警。該系統可以實時采集網絡運行資料、判斷網絡運行狀況并對網絡故障報警。無線應用模塊的主要功能是:通過手機等無線設備進行網絡故障報警,對網絡運行狀態、網絡設備、維護負責人等信息進行查詢,方便對網絡運行的實時監控和維護工作。
(2)代碼演示
本文以一段MIDP程序為例,演示MIDP程序的開發。下面的MIDP程序首先讓用戶輸入賬號和密碼以便登錄到服務器。登錄成功后顯示一個報警和信息查詢的列表(如故障報警、網絡運行狀態等),然后根據用戶的選擇從服務器查詢相應信息,最后將從服務器返回的信息顯示給用戶。限于篇幅,這里只給出部分代碼。
①以下代碼主要實現MIDlet類中與生命周期相關的抽象方法。
②以下代碼片斷完成與服務器交互、讀取查詢信息的功能。
3 結 論
J2ME平臺把Java技術引入到了嵌入式設備平臺。它定義了功能強大的、安全的、可移植的應用開發的標準平臺。隨著移動通信設備的日益普及,移動通信增值服務正成為新的業務增長點。因而J2ME必然會在無線設備應用程序開發領域大顯身手。J2ME將以其強大的功能,增進對各廠商產品與技術的兼容性,加強服務的交互能力,使移動通信增值服務更加個性化和智能化,從而更大地發揮移動通信的優勢。
評論
查看更多