連晉平 ,李 梅, 劉 平
(1.肇慶學(xué)院 計算機科學(xué)與技術(shù)學(xué)院,廣東 肇慶 526061;2.成都大學(xué) 信息與現(xiàn)代教育技術(shù)中心 四川 成都 610106;3.西安財經(jīng)學(xué)院 信息與現(xiàn)代教育技術(shù)中心 陜西 西安 710061)
隨著3G[1]技術(shù)應(yīng)用的不斷推進,各企業(yè)對移動商務(wù)系統(tǒng)的需求更為強烈。企業(yè)建立自己的3A(Anytime、Anywhere和Anyway)模式移動商務(wù)系統(tǒng),可極大提高市場響應(yīng)能力,更方便地與客戶交互,更及時地為客戶提供服務(wù)??蛻敉ㄟ^訪問企業(yè)的移動商務(wù)系統(tǒng),能夠快速獲取有用的信息;同時企業(yè)也能擴大用戶,占領(lǐng)更大的市場。在開發(fā)移動商務(wù)系統(tǒng)過程中,開發(fā)人員要解決的一個難點問題是系統(tǒng)流動和交互的數(shù)據(jù)層次和狀態(tài)必須非常清楚,為此,經(jīng)大量技術(shù)開發(fā)實踐,本文分析了移動商務(wù)系統(tǒng)的層次和數(shù)據(jù)狀態(tài)。
3 G網(wǎng)絡(luò)移動商務(wù)系統(tǒng)基本架構(gòu)包括數(shù)據(jù)庫層(Database)、持久管理層(ORM)[3]、業(yè)務(wù)控制層(Business),無線網(wǎng)絡(luò)層(Wireless)和手機終端層(Cell phone),如圖1 所示。圖1中數(shù)據(jù)庫層存放持久性的關(guān)系數(shù)據(jù),這些數(shù)據(jù)會永久性地存在,無論計算機處于關(guān)機或開機狀態(tài);持久管理層將數(shù)據(jù)庫的數(shù)據(jù)映射到計算機內(nèi)存中(域模型數(shù)據(jù)),并使內(nèi)存中的數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù)保持同步;業(yè)務(wù)控制層管理數(shù)據(jù)的事務(wù)和交互分配,使從互聯(lián)網(wǎng)提交的數(shù)據(jù)和相應(yīng)互聯(lián)網(wǎng)的數(shù)據(jù)按照系統(tǒng)預(yù)設(shè)的流程進行控制處理;無線網(wǎng)絡(luò)層通過空中接口將互聯(lián)網(wǎng)中系統(tǒng)的數(shù)據(jù)下行或上行傳輸?shù)绞謾C終端;手機終端主要用來和用戶交互,并顯示、驗證和提交數(shù)據(jù)。
圖1 3G無線網(wǎng)絡(luò)數(shù)據(jù)傳輸層次
從圖1可以看出,手機終端通過無線網(wǎng)和互聯(lián)網(wǎng)的數(shù)據(jù)交互,數(shù)據(jù)會動態(tài)地經(jīng)歷幾個層次模塊。即手機終端訪問3G網(wǎng)絡(luò)系統(tǒng)中的數(shù)據(jù),需要經(jīng)過多個層次的數(shù)據(jù)傳輸:1)上行請求過程:手機終端提交的數(shù)據(jù)→無線網(wǎng)層→無線網(wǎng)關(guān)→互聯(lián)網(wǎng)層→業(yè)務(wù)控制管理層→持久層管理→數(shù)據(jù)庫層;2)下行響應(yīng)過程:數(shù)據(jù)庫層→持久管理層→業(yè)務(wù)控制管理層→無線網(wǎng)關(guān)→無線網(wǎng)絡(luò)層→手機終端。
根據(jù)數(shù)據(jù)傳輸流程,在3G網(wǎng)絡(luò)商務(wù)系統(tǒng)中,數(shù)據(jù)在不同的層次中應(yīng)該處于不同的形式和狀態(tài),即數(shù)據(jù)流狀態(tài)。數(shù)據(jù)流狀態(tài)可分為臨時性數(shù)據(jù)、游離性數(shù)據(jù)和持久性數(shù)據(jù)。
1)臨時狀態(tài)數(shù)據(jù) 一般指系統(tǒng)創(chuàng)建的新數(shù)據(jù),這些數(shù)據(jù)還沒有存到數(shù)據(jù)庫中,由用戶通過手機終端創(chuàng)建,如注冊一個新用戶、新產(chǎn)品、新訂單等,這些數(shù)據(jù)創(chuàng)建后,先存儲在手機終端,然后通過無線網(wǎng)絡(luò)傳遞到互聯(lián)網(wǎng),最后通過業(yè)務(wù)控制層和持久層永久保存到數(shù)據(jù)庫中。
2)游離狀態(tài)數(shù)據(jù) 臨時狀態(tài)數(shù)據(jù)通過上述過程持久化到數(shù)據(jù)庫后,在內(nèi)存中被持久化的數(shù)據(jù)變成游離狀態(tài)的數(shù)據(jù),如果不刪除或關(guān)機,這些數(shù)據(jù)就一直保留在計算機中,供手機終端訪問。如果不對這些數(shù)據(jù)進行增刪改操作,手機終端訪問這些數(shù)據(jù)時就和數(shù)據(jù)庫無關(guān),而直接從內(nèi)存中獲取這些數(shù)據(jù)。
3)持久狀態(tài)數(shù)據(jù) 臨時狀態(tài)的數(shù)據(jù)或游離狀態(tài)的數(shù)據(jù),進入持久化層后,則轉(zhuǎn)化為持久狀態(tài)的數(shù)據(jù),持久層的數(shù)據(jù)可能要和數(shù)據(jù)庫相關(guān)聯(lián),如增刪改操作;也可能和數(shù)據(jù)庫無關(guān),如查詢、瀏覽和統(tǒng)計等。
在3G無線網(wǎng)絡(luò)系統(tǒng)中,不同數(shù)據(jù)狀態(tài)的形成過程如下:3G網(wǎng)絡(luò)和互聯(lián)網(wǎng)系統(tǒng)建立后,當(dāng)手機終端用戶第1次通過無線網(wǎng)訪問互聯(lián)網(wǎng)時,根據(jù)用戶的需求,網(wǎng)絡(luò)系統(tǒng)會將數(shù)據(jù)庫中的數(shù)據(jù)映射到網(wǎng)絡(luò)存儲器(內(nèi)存),形成數(shù)據(jù)對象。這些數(shù)據(jù)在數(shù)據(jù)庫中存在關(guān)系,以減少數(shù)據(jù)的冗余性。映射到網(wǎng)絡(luò)內(nèi)存中后,對應(yīng)的對象數(shù)據(jù)在網(wǎng)絡(luò)(內(nèi)存)中形成數(shù)據(jù)對象關(guān)系分布圖。該數(shù)據(jù)對象分布圖就是互聯(lián)網(wǎng)上的數(shù)據(jù),這些數(shù)據(jù)可以存在于上述各層中,供系統(tǒng)處理。
圖2 域模型關(guān)系類圖
在3G移動商務(wù)系統(tǒng)中,數(shù)據(jù)對象是根據(jù)業(yè)務(wù)需要設(shè)計的,如用Java語言開發(fā)系統(tǒng),數(shù)據(jù)對象本質(zhì)是JavaBeans[4]對象,每個JavaBean對象對應(yīng)數(shù)據(jù)庫中相應(yīng)表中一條記錄。通過ORM技術(shù)進行映射,使內(nèi)存中數(shù)據(jù)和數(shù)據(jù)庫中數(shù)據(jù)保持同步。數(shù)據(jù)庫數(shù)據(jù)間只有主外鍵關(guān)系,而這些數(shù)據(jù)映射到內(nèi)存中成為JavaBean對象后,這些數(shù)據(jù)對象之間的關(guān)系就比較復(fù)雜,可能有關(guān)聯(lián)、依賴、泛化、組合和聚合等關(guān)系,需要ORM技術(shù)來實現(xiàn)。其中關(guān)聯(lián)關(guān)系[5]最復(fù)雜,有一對多、多對一、一對一和多對多。以Java語言為例,具體ORM處理的方法是:先將數(shù)據(jù)庫表中字段和ORM中字段相對應(yīng),再將ORM中字段和Java語言的數(shù)據(jù)類型相對應(yīng),ORM起到中間層數(shù)據(jù)轉(zhuǎn)換對應(yīng)的作用。圖2是進銷存系統(tǒng)的域模型關(guān)系類圖。
建立域模型數(shù)據(jù)后,就可將這些數(shù)據(jù)處理分為交互層(手機終端)、控制層(管理事務(wù)和業(yè)務(wù)分配計算)、持久層(和數(shù)據(jù)庫同步)3個層次,如圖3所示。根據(jù)客戶的訪問要求,交互層(手機終端)將需要處理的數(shù)據(jù)通過無線網(wǎng)和互聯(lián)網(wǎng)提交給應(yīng)用服務(wù)器的控制層,控制層集成所有服務(wù)器中的數(shù)據(jù)處理模塊,進行事務(wù)管理和分配數(shù)據(jù)處理,然后根據(jù)需要將數(shù)據(jù)送至持久層處理,如果有增刪改業(yè)務(wù)處理,則需要和數(shù)據(jù)庫建立會話,與數(shù)據(jù)庫保持同步;否則直接處理游離狀態(tài)的數(shù)據(jù),節(jié)省數(shù)據(jù)庫的操作消耗。這樣系統(tǒng)可分別處理不同數(shù)據(jù)狀態(tài)的數(shù)據(jù),實現(xiàn)簡單。每一層之間通過接口[6]注入下一層的業(yè)務(wù)類對象,因此系統(tǒng)維護簡單、擴展容易、重用率高。
圖3 數(shù)據(jù)處理類圖
清楚了數(shù)據(jù)處理層次和數(shù)據(jù)的不同狀態(tài),設(shè)計系統(tǒng)和處理業(yè)務(wù)就非常容易。本文分析了3G移動商務(wù)系統(tǒng)的數(shù)據(jù)層次和狀態(tài),為開發(fā)人員進行系統(tǒng)開發(fā)事件提供了相關(guān)技術(shù)借鑒。
[1]梅玉平.3G的業(yè)務(wù)及管理[M].北京:人民郵電出版社,2007:1-77.
[2]孫衛(wèi)琴.精通Hibernate Java對象持久化技術(shù)詳解[M].北京:電子工業(yè)出版社,2005.
[3]黃軍倉,劉 平.一種新型移動商務(wù)應(yīng)用系統(tǒng)集成架構(gòu)[J].電子設(shè)計工程,2008,16(12):.75-76.
[4]連晉平,劉 平.一種新型移動商務(wù)(OA)系統(tǒng)的架構(gòu)與實現(xiàn)[J].電子設(shè)計工程, 2008,16(7):64-65.
[5]蔡 敏.UML基礎(chǔ)與Rose建模教程[M].北京:人民郵政出版社,2006:23-78.
[6]廖雪峰.Spring 2.0核心技術(shù)與最佳實踐[M].北京:電子工業(yè)出版社,2008:34-189.