基于J2ME的嵌入式移動(dòng)數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)
J2EE為企業(yè)開發(fā)提供了豐富的技術(shù)組件。EJB(Enterprise Java Bean)封裝業(yè)務(wù)邏輯,并將它們應(yīng)用于后端的企業(yè)信息系統(tǒng),JSP,Servlet提供Web層與用戶的信息交流,協(xié)調(diào)用戶和EJB之間的交互。這些組件相互關(guān)聯(lián)構(gòu)成了服務(wù)端J2EE的應(yīng)用。在設(shè)計(jì)中要解決的關(guān)鍵問題有數(shù)據(jù)庫連接池和數(shù)據(jù)同步。
HTTP協(xié)議在MIDP框架和J2EE平臺(tái)搭建了傳輸?shù)臉蛄?。Servlet通過HTTP建立起與客戶端基于主求與回應(yīng)的動(dòng)態(tài)模式。MIDP支持 HTTP1.1,使用GET和POST與網(wǎng)絡(luò)層進(jìn)行通信,產(chǎn)生HTTP報(bào)頭和數(shù)據(jù)。為了使報(bào)文清晰,在HTTP請(qǐng)求是應(yīng)包含content-type屬性,某些網(wǎng)關(guān)不接收未定義或非標(biāo)準(zhǔn)content-type的報(bào)文。無線傳輸?shù)拇罅繒r(shí)間耗時(shí)在連接的建立過程中,所以客戶端設(shè)計(jì)應(yīng)避免頻繁的發(fā)送消息,將需要發(fā)送的消息積累起來,減少發(fā)送的次數(shù)將極大提高客戶端的運(yùn)行效率。JAVA提供了許多內(nèi)置的聯(lián)網(wǎng)功能,使開發(fā)基于互聯(lián)網(wǎng)和Web的應(yīng)用程序變得容易,JAVA可以指定多線程的并行執(zhí)行,可以使程序在全球范圍摸索信息,還可以與計(jì)算機(jī)上運(yùn)行的程序相互協(xié)作。J2ME將移動(dòng)設(shè)備上的客戶應(yīng)用與后臺(tái)服務(wù)環(huán)境完美結(jié)合起來,基于J2ME+J2EE的移動(dòng)數(shù)據(jù)解決方案將JAVA技術(shù)的可移植性,可擴(kuò)展性,易于編程充分體現(xiàn)在移動(dòng)數(shù)據(jù)庫的的應(yīng)用中。
2.3 數(shù)據(jù)庫連接池
在多用戶數(shù)據(jù)庫情況下,用戶創(chuàng)建一個(gè)新的數(shù)據(jù)庫連接所消耗的時(shí)間主要取決于網(wǎng)絡(luò)的速度以及應(yīng)用程序和數(shù)據(jù)庫服務(wù)器的網(wǎng)絡(luò)距離,而且這個(gè)過程通常是一個(gè)很消耗時(shí)間的過程。采用數(shù)據(jù)庫連接池技術(shù)連接數(shù)據(jù)庫可以顯著的改善接入數(shù)據(jù)庫的速度和訪問質(zhì)量。
2.4 傳輸數(shù)據(jù)序列化
客戶端與服務(wù)器需要交互的信息很多,但是通過HTTP方式與服務(wù)器進(jìn)行網(wǎng)絡(luò)傳輸,只能傳輸?shù)囟M(jìn)制數(shù)據(jù)。所以需要把二進(jìn)制數(shù)據(jù)序列化。數(shù)據(jù)序列化就是將對(duì)象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對(duì)的是反序列化,它將流轉(zhuǎn)換為對(duì)象。這兩個(gè)過程結(jié)合起來,就使得數(shù)據(jù)能夠被輕松地存儲(chǔ)和傳輸。既然移動(dòng)數(shù)據(jù)系統(tǒng)要客戶端與服務(wù)器端交換不同類型和格式的數(shù)據(jù),所以最好把這些信息按照集合劃分,編寫成為序列化格式的類,這樣可以避免數(shù)據(jù)同步傳輸時(shí)客戶端和服務(wù)器端處理數(shù)據(jù)的時(shí)候格式不統(tǒng)一而帶來的問題。本系統(tǒng)共有3個(gè)類分別序列化項(xiàng)目信息,采樣信息,用戶信息等。
2.5 數(shù)據(jù)同步
移動(dòng)數(shù)據(jù)庫也屬于分布式數(shù)據(jù)庫,為保證其數(shù)據(jù)一致性,RDGSM移動(dòng)數(shù)據(jù)庫也需要進(jìn)行數(shù)據(jù)同步,這里使用的是SQL Server Mobile 復(fù)制。SQL Server Mobile 復(fù)制基于 Microsoft SQL Server 合并復(fù)制。使用 Microsoft SQL Server 2000 數(shù)據(jù)庫來實(shí)現(xiàn)合并復(fù)制。合并復(fù)制非常適合移動(dòng)應(yīng)用程序,因?yàn)樗试S分別在便攜式設(shè)備和服務(wù)器上自行更新數(shù)據(jù)。之后可以對(duì)該設(shè)備和服務(wù)器上的數(shù)據(jù)進(jìn)行同步,以將客戶端的更改發(fā)送到服務(wù)器,或從服務(wù)器接收新的更改。
3. 基于J2ME的嵌入式移動(dòng)數(shù)據(jù)庫系統(tǒng)在RDGSM上的應(yīng)用
RDGSM(the Regional Database for Geothermal Surface Manifestation)是國際原子能機(jī)構(gòu)的一個(gè)區(qū)域性分布式數(shù)據(jù)庫系統(tǒng),用于對(duì)亞太地區(qū)的地?zé)釘?shù)據(jù)信息(包括項(xiàng)目信息、樣本信息以及同位素和微量元素等數(shù)據(jù)信息)進(jìn)行處理和統(tǒng)一管理。RDGSM數(shù)據(jù)信息分布在亞太地區(qū)的幾個(gè)國家,是一個(gè)典型的分布式數(shù)據(jù)庫系統(tǒng),根據(jù)系統(tǒng)需求,先后完成了基于C/S結(jié)構(gòu)和B/S結(jié)構(gòu)的應(yīng)用系統(tǒng)的開發(fā)工作,并作為國際原子能機(jī)構(gòu)HOHIS數(shù)據(jù)庫亞太地區(qū)的中心數(shù)據(jù)庫成功運(yùn)行。
評(píng)論