當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]基于消費(fèi)類電子設(shè)備的嵌入式開(kāi)發(fā)技術(shù)J2ME的體系結(jié)構(gòu)、核心概念,探討了基于J2ME平臺(tái)的企業(yè)無(wú)線應(yīng)用開(kāi)發(fā),并給出了一個(gè)應(yīng)用實(shí)例。

J2ME是SUN公司提出的基于消費(fèi)類電子設(shè)備的嵌入式開(kāi)發(fā)技術(shù),它將為新一代無(wú)線Internet提供交互式的、可移植的、部署靈活的、安全的應(yīng)用。J2ME省略了WAP網(wǎng)關(guān),直接通過(guò)HTTP或Socket協(xié)議進(jìn)行網(wǎng)絡(luò)通信,大大提高了傳輸速度。運(yùn)用J2ME技術(shù)能在小型電子設(shè)備上實(shí)現(xiàn)更豐富和更有價(jià)值的應(yīng)用系統(tǒng),如企業(yè)無(wú)線MIS系統(tǒng),它結(jié)合企業(yè)ERP系統(tǒng)可提高企業(yè)的運(yùn)作效率。

1 J2ME體系結(jié)構(gòu)

J2ME是Java2技術(shù)架構(gòu)的組成部分。隨著Java技術(shù)的不斷發(fā)展,SUN公司根據(jù)市場(chǎng)的不同需求進(jìn)一步將Java2細(xì)分為三個(gè)版本:企業(yè)版J2EE(Java2 Platform Enterprise Edition)是面向企業(yè)環(huán)境開(kāi)發(fā)應(yīng)用程序的解決方案;標(biāo)準(zhǔn)版J2SE(Java2 Platform Standard Edition)是面向桌面開(kāi)發(fā)和低端設(shè)備應(yīng)用的解決方案;小型版J2ME(Java2 Platform Micro Edition)是致力于消費(fèi)類電子產(chǎn)品和嵌入式設(shè)備的最佳解決方案。

1.1 J2ME的層次結(jié)構(gòu)

J2ME是專門面向小型設(shè)備應(yīng)用的簡(jiǎn)易平臺(tái),這里的小型設(shè)備指移動(dòng)電話、PDA、網(wǎng)絡(luò)電話、電視機(jī)頂盒、自動(dòng)娛樂(lè)系統(tǒng)、導(dǎo)航系統(tǒng)以及家用自動(dòng)電器等。為了支持品類繁多的設(shè)備類型,滿足市場(chǎng)對(duì)靈活性與個(gè)性化的需求,J2ME采用了模塊化、可升級(jí)的體系結(jié)構(gòu)。其底層是宿主機(jī)的操作系統(tǒng),內(nèi)部則分為:Java虛擬機(jī)(JVM)層、配置(Configuration)層和框架(Profile)層。

(1)Java虛擬機(jī)層

本層是Java虛擬機(jī)執(zhí)行層,它是專門針對(duì)特定設(shè)備的嵌入式操作系統(tǒng)定制的,支持特定的J2ME配置。J2ME支持的Java虛擬機(jī)有二種:①CVM,其功能與傳統(tǒng)的虛擬機(jī)非常接近,適用于擁有至少幾兆字節(jié)內(nèi)存的高端消費(fèi)類設(shè)備,如網(wǎng)絡(luò)電話、電視機(jī)頂盒等;②KVM,專用于內(nèi)存小、資源有限、能上網(wǎng)的設(shè)備,如移動(dòng)電話、PDA等。

(2)配置層

這一層定義了Java虛擬機(jī)的最小功能集和Java類庫(kù)的最小集合,是框架層的基礎(chǔ)。J2ME目前有二種配置:一種是連接設(shè)備配置(CDC),它的基礎(chǔ)虛擬機(jī)是CVM;另一種是有限連接設(shè)備配置(CLDC),它的基礎(chǔ)虛擬機(jī)是KVM??梢詫DC設(shè)備描述為共享的、固定的連接信息設(shè)備,將CLDC設(shè)備描述為個(gè)人化的、移動(dòng)的連接信息設(shè)備。

(3)框架層

在配置層的基礎(chǔ)上,框架層又為一些特定的縱向市場(chǎng)、設(shè)備類型或者工業(yè)界額外定義了一些API和特性。框架中的類庫(kù)使開(kāi)發(fā)人員可以訪問(wèn)一些設(shè)備特有的功能,如圖形用戶界面、網(wǎng)絡(luò)通信、持久存儲(chǔ)等。任何一種框架都是在特定的配置層基礎(chǔ)上實(shí)現(xiàn)的,擴(kuò)充了附加的JVM功能集與類庫(kù),而一種配置層可以同時(shí)支持多種框架層。如果設(shè)備支持相同的框架(如不同廠家生產(chǎn)的手機(jī)),則同一個(gè)Java應(yīng)用程序可以在不同的設(shè)備之間通用。目前在CLDC上只定義了一種框架,即MIDP(Mobile Information Device Profile)。用于PDA設(shè)備的基于CLDC配置層的框架PDAP正在制定當(dāng)中。目前,構(gòu)建于CDC上的框架有基礎(chǔ)框架和RMI框架?;贑DC的個(gè)人框架(Personal Profile)也正在定義之中。

1.2 用于無(wú)線設(shè)備的J2ME

MIDP、CLDC和KVM組成了開(kāi)發(fā)無(wú)線Java應(yīng)用的基礎(chǔ)。圖1列出了用于無(wú)線應(yīng)用的J2ME體系結(jié)構(gòu)。|

MIDP應(yīng)用可稱為MIDlet,它必須擴(kuò)展javax.microedition.midlet.MIDlet類并實(shí)現(xiàn)其定義的三個(gè)抽象方法:startApp()、pauseApp()和destroyApp()。MIDlet在執(zhí)行過(guò)程中包括運(yùn)行、暫停和銷毀三個(gè)有效狀態(tài)。這三種狀態(tài)間的轉(zhuǎn)換是由AMS(Application Management Software)通過(guò)調(diào)用MIDlet類定義的以上三個(gè)方法控制的。這是一種基于回調(diào)(Callback)的機(jī)制。圖2展示了通過(guò)調(diào)用這三種方法實(shí)現(xiàn)三種可能狀態(tài)間的轉(zhuǎn)換。

2 基于J2ME的無(wú)線網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)研究

2.1 服務(wù)端設(shè)計(jì)

在當(dāng)今電子商務(wù)應(yīng)用中,J2EE以其可擴(kuò)展性、靈活性成為服務(wù)端事實(shí)上的開(kāi)發(fā)標(biāo)準(zhǔn)。J2EE為企業(yè)開(kāi)發(fā)提供了豐富的技術(shù)組件,如JDBC、EJB、JSP和Servlet等。這些組件相互關(guān)聯(lián)構(gòu)成了服務(wù)端的J2EE應(yīng)用。

J2ME將移動(dòng)設(shè)備上的客戶應(yīng)用與后臺(tái)J2EE服務(wù)環(huán)境完美結(jié)合起來(lái),使建設(shè)一個(gè)無(wú)線接入的企業(yè)網(wǎng)絡(luò)成為可能。任何時(shí)間、任何地點(diǎn)的自由訪問(wèn)功能不僅擴(kuò)大了企業(yè)市場(chǎng)影響力、提高了客戶服務(wù)水平,而且降低了企業(yè)IT運(yùn)行成本。

2.2 客戶端設(shè)計(jì)

基于J2ME的無(wú)線網(wǎng)絡(luò)應(yīng)用的開(kāi)發(fā)可以使用CLDC和MIDP規(guī)范中定義的豐富類庫(kù)。這二個(gè)規(guī)范定義了無(wú)線設(shè)備開(kāi)發(fā)的各個(gè)方面,包括用戶界面、數(shù)據(jù)存儲(chǔ)和網(wǎng)絡(luò)訪問(wèn)能力等。

在CLDC中為網(wǎng)絡(luò)訪問(wèn)定義了通用連接框架,其通用格式是:Connector.open(″:

:″)。該通用格式連接框架實(shí)現(xiàn)了一種運(yùn)行時(shí)綁定的機(jī)制,協(xié)議、地址等信息都作為Open函數(shù)的參數(shù)來(lái)傳遞。因此MIDP規(guī)范支持的各種協(xié)議(如HTTP、Socket、Datagram、SMS、串行端口通信和文件I/O等)都使用這種一致的方法。運(yùn)行時(shí)由該通用框架為客戶選擇具體的實(shí)現(xiàn)。MIDP通過(guò)HTTP協(xié)議連接互聯(lián)網(wǎng)的實(shí)例有:Connector.open(http://www.jnu.edu.cn:8080)。HTTP協(xié)議是所有支持J2ME的無(wú)線設(shè)備必須實(shí)現(xiàn)的,它在MIDP框架和J2EE平臺(tái)之間搭建了傳輸?shù)臉蛄?。JSP、Servlet通過(guò)HTTP協(xié)議建立起與客戶端基于請(qǐng)求/響應(yīng)的動(dòng)態(tài)模式。MIDP支持HTTP1.1,使用GET和POST與網(wǎng)絡(luò)層進(jìn)行通信,產(chǎn)生HTTP報(bào)頭和數(shù)據(jù)。在MIDP2.0中,通用連接框架還將支持HTTPS協(xié)議,通過(guò)HTTPS連接可確保信息的安全傳輸。

下面以一個(gè)網(wǎng)絡(luò)運(yùn)行狀態(tài)監(jiān)控系統(tǒng)的無(wú)線應(yīng)用模塊為例,具體說(shuō)明基于J2ME的無(wú)線網(wǎng)絡(luò)應(yīng)用的開(kāi)發(fā)。

(1)系統(tǒng)及模塊功能

該網(wǎng)絡(luò)運(yùn)行狀態(tài)監(jiān)控系統(tǒng)的設(shè)計(jì)目的是對(duì)企業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控和報(bào)警。該系統(tǒng)可以實(shí)時(shí)采集網(wǎng)絡(luò)運(yùn)行資料、判斷網(wǎng)絡(luò)運(yùn)行狀況并對(duì)網(wǎng)絡(luò)故障報(bào)警。無(wú)線應(yīng)用模塊的主要功能是:通過(guò)手機(jī)等無(wú)線設(shè)備進(jìn)行網(wǎng)絡(luò)故障報(bào)警,對(duì)網(wǎng)絡(luò)運(yùn)行狀態(tài)、網(wǎng)絡(luò)設(shè)備、維護(hù)負(fù)責(zé)人等信息進(jìn)行查詢,方便對(duì)網(wǎng)絡(luò)運(yùn)行的實(shí)時(shí)監(jiān)控和維護(hù)工作。

(2)代碼演示

本文以一段MIDP程序?yàn)槔?演示MIDP程序的開(kāi)發(fā)。下面的MIDP程序首先讓用戶輸入賬號(hào)和密碼以便登錄到服務(wù)器。登錄成功后顯示一個(gè)報(bào)警和信息查詢的列表(如故障報(bào)警、網(wǎng)絡(luò)運(yùn)行狀態(tài)等),然后根據(jù)用戶的選擇從服務(wù)器查詢相應(yīng)信息,最后將從服務(wù)器返回的信息顯示給用戶。限于篇幅,這里只給出部分代碼。

①以下代碼主要實(shí)現(xiàn)MIDlet類中與生命周期相關(guān)的抽象方法。

②以下代碼片斷完成與服務(wù)器交互、讀取查詢信息的功能。

3 結(jié) 論

J2ME平臺(tái)把Java技術(shù)引入到了嵌入式設(shè)備平臺(tái)。它定義了功能強(qiáng)大的、安全的、可移植的應(yīng)用開(kāi)發(fā)的標(biāo)準(zhǔn)平臺(tái)。隨著移動(dòng)通信設(shè)備的日益普及,移動(dòng)通信增值服務(wù)正成為新的業(yè)務(wù)增長(zhǎng)點(diǎn)。因而J2ME必然會(huì)在無(wú)線設(shè)備應(yīng)用程序開(kāi)發(fā)領(lǐng)域大顯身手。J2ME將以其強(qiáng)大的功能,增進(jìn)對(duì)各廠商產(chǎn)品與技術(shù)的兼容性,加強(qiáng)服務(wù)的交互能力,使移動(dòng)通信增值服務(wù)更加個(gè)性化和智能化,從而更大地發(fā)揮移動(dòng)通信的優(yōu)勢(shì)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉