程 莉
(中國(guó)商飛上海航空工業(yè)(集團(tuán))有限公司信息化中心,上海201206)
近年來,移動(dòng)網(wǎng)絡(luò)通信技術(shù)和移動(dòng)設(shè)備制造技術(shù)的快速發(fā)展,以及伴隨著移動(dòng)智能終端在公眾的迅速普及,使得移動(dòng)互聯(lián)網(wǎng)進(jìn)入一個(gè)黃金發(fā)展時(shí)期,于是移動(dòng)辦公的概念應(yīng)運(yùn)而生[1]。相對(duì)于傳統(tǒng)的辦公自動(dòng)化方式而言,移動(dòng)辦公最直接的好處就是將人們從桌面辦公解放出來,并有效地提高工作效率。原來必須要在辦公室才能處理的工作,通過移動(dòng)辦公可以在任何時(shí)間任何地點(diǎn)進(jìn)行處理[2]。
移動(dòng)辦公平臺(tái)作為移動(dòng)端企業(yè)信息資源和應(yīng)用服務(wù)的集成平臺(tái),整合了一系列的功能應(yīng)用,這些功能應(yīng)用類型多樣、結(jié)構(gòu)各異,調(diào)用方法存在較大差異,應(yīng)用管理成本較大。另外,傳統(tǒng)的移動(dòng)辦公是利用移動(dòng)終端設(shè)備直接發(fā)送SQL語句,然后遠(yuǎn)程操作企業(yè)內(nèi)部數(shù)據(jù)庫,這種數(shù)據(jù)訪問模式存在嚴(yán)重的數(shù)據(jù)安全隱患[3]。針對(duì)以上問題,本文利用中間件技術(shù),設(shè)計(jì)了一個(gè)基于中間件的移動(dòng)辦公平臺(tái),以達(dá)到增強(qiáng)系統(tǒng)的可擴(kuò)展性、易管理性、高可用性和可移植性的目的。
近幾年國(guó)內(nèi)外移動(dòng)辦公系統(tǒng)快速發(fā)展,在移動(dòng)辦公行業(yè)出現(xiàn)了比較多的解決方案和技術(shù),目前主流的實(shí)現(xiàn)移動(dòng)辦公的技術(shù)主要有以下三種[4]:
(1)利用HTML5網(wǎng)站開發(fā)技術(shù)實(shí)現(xiàn)移動(dòng)辦公系統(tǒng)?;贖TML5、CSS和JavaScript,創(chuàng)建跨平臺(tái)移動(dòng)應(yīng)用程序的快速開發(fā)平臺(tái)。
(2)利用虛擬化技術(shù)實(shí)現(xiàn)移動(dòng)辦公系統(tǒng)。虛擬桌面的應(yīng)用實(shí)現(xiàn)了移動(dòng)終端設(shè)備到服務(wù)器的跨越,用戶通過虛擬桌面直接訪問服務(wù)器上的應(yīng)用,從而實(shí)現(xiàn)企業(yè)的移動(dòng)辦公。
(3)利用客戶端方式建立移動(dòng)辦公系統(tǒng)。針對(duì)具體的手機(jī)操作系統(tǒng),采用手機(jī)操作系統(tǒng)提供的開發(fā)語言和開發(fā)方法,利用其對(duì)應(yīng)的SDK(軟件開發(fā)工具包)進(jìn)行移動(dòng)辦公系統(tǒng)客戶端的開發(fā)。
中間件是位于操作系統(tǒng)平臺(tái)和應(yīng)用程序之間的通用服務(wù)系統(tǒng),它提供了統(tǒng)一的協(xié)議與標(biāo)準(zhǔn)接口,在不同的硬件和操作系統(tǒng)平臺(tái)上實(shí)現(xiàn)了數(shù)據(jù)的共享與應(yīng)用的互操作[5]。
中間件的分類方法很多,按照IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)的分類方法,中間件平臺(tái)可以分為六類[6]:
(1)終端仿真/屏幕轉(zhuǎn)換中間件。用以實(shí)現(xiàn)客戶機(jī)圖形用戶接口與已有的字符接口方式的服務(wù)器應(yīng)用程序之間的互操作。
(2)數(shù)據(jù)訪問中間件。為了建立數(shù)據(jù)應(yīng)用資源互操作的模式,對(duì)異構(gòu)環(huán)境下的數(shù)據(jù)庫實(shí)現(xiàn)聯(lián)接或文件系統(tǒng)實(shí)現(xiàn)聯(lián)接的中間件。適用于應(yīng)用程序與數(shù)據(jù)源之間的互操作模型,客戶端使用面向數(shù)據(jù)庫的API,以提請(qǐng)直接訪問和更新基于服務(wù)器的數(shù)據(jù)源。
(3)遠(yuǎn)程過程調(diào)用中間件。通過遠(yuǎn)程過程調(diào)用機(jī)制,應(yīng)用程序執(zhí)行一個(gè)位于不同地址空間里的過程,并且從效果上看和執(zhí)行本地調(diào)用相同。
(4)消息中間件。用來屏蔽掉各種平臺(tái)及協(xié)議之間的特性,實(shí)現(xiàn)在不同平臺(tái)之間通信,實(shí)現(xiàn)分布式系統(tǒng)中可靠的、高效的、實(shí)時(shí)的跨平臺(tái)數(shù)據(jù)傳輸,實(shí)現(xiàn)應(yīng)用程序之間的協(xié)同。
(5)交易中間件。是在分布、異構(gòu)環(huán)境下提供保證交易完整性和數(shù)據(jù)完整性的一種環(huán)境平臺(tái),用于進(jìn)行事務(wù)管理與協(xié)調(diào)、負(fù)載平衡、失敗恢復(fù)等,以提高系統(tǒng)的整體性能,可以被看作是事務(wù)處理應(yīng)用程序的“操作系統(tǒng)”。
(6)對(duì)象中間件。在分布、異構(gòu)的網(wǎng)絡(luò)計(jì)算環(huán)境中,可以將各種分布對(duì)象有機(jī)地結(jié)合在一起,使得對(duì)象可以透明地向其他位于本地或位于遠(yuǎn)程機(jī)器的對(duì)象發(fā)出請(qǐng)求或接受其他對(duì)象的響應(yīng),以完成系統(tǒng)的快速集成,實(shí)現(xiàn)對(duì)象重用。
本文利用中間件技術(shù),設(shè)計(jì)了一個(gè)基于中間件的移動(dòng)辦公平臺(tái),以解決平臺(tái)多應(yīng)用集成帶來的異構(gòu)性問題,達(dá)到增強(qiáng)系統(tǒng)的可擴(kuò)展性、易管理性、高可用性和可移植性的目的。
該平臺(tái)體系結(jié)構(gòu)分為三層:前端、中間層和后臺(tái)。前端即客戶端,采用HTML5網(wǎng)站開發(fā)技術(shù);中間層利用中間件技術(shù),主體部分由應(yīng)用訪問中間件和數(shù)據(jù)訪問中間件組成,并通過任務(wù)隊(duì)列完成任務(wù)傳遞;后臺(tái)為數(shù)據(jù)存儲(chǔ)。移動(dòng)辦公平臺(tái)的結(jié)構(gòu)如圖1所示。
圖1 移動(dòng)辦公平臺(tái)基本結(jié)構(gòu)圖
應(yīng)用訪問中間件是構(gòu)成移動(dòng)辦公平臺(tái)的關(guān)鍵部分之一,用以屏蔽所集成的各類功能應(yīng)用的差異性,支持各種應(yīng)用之間靈活的信息交換和共享,為前端提供統(tǒng)一的應(yīng)用訪問接口,為數(shù)據(jù)訪問中間件提供規(guī)范的執(zhí)行操作。
應(yīng)用訪問中間件由五個(gè)模塊組成,分別是APP API、請(qǐng)求解析模塊、應(yīng)用倉庫、任務(wù)執(zhí)行模塊、結(jié)果反饋模塊,如圖2所示。
圖2 應(yīng)用訪問中間件模塊關(guān)系圖
這五個(gè)模塊的主要功能如下:
(1)APPAPI:是接收外部用戶請(qǐng)求、返回任務(wù)執(zhí)行結(jié)果的統(tǒng)一接口。
(2)請(qǐng)求解析模塊:負(fù)責(zé)對(duì)用戶提出的請(qǐng)求進(jìn)行解析,判斷其請(qǐng)求類型,并調(diào)用應(yīng)用倉庫獲取相關(guān)應(yīng)用信息,將解析結(jié)果打包發(fā)給任務(wù)執(zhí)行模塊。
(3)應(yīng)用倉庫:管理注冊(cè)應(yīng)用,并維護(hù)應(yīng)用信息目錄,如應(yīng)用標(biāo)識(shí)、應(yīng)用描述信息、應(yīng)用源路徑集、存儲(chǔ)規(guī)則等。
(4)任務(wù)執(zhí)行模塊:是用戶應(yīng)用訪問的執(zhí)行模塊,根據(jù)請(qǐng)求解析模塊發(fā)送的解析結(jié)果執(zhí)行相應(yīng)應(yīng)用訪問操作,并將其整合成對(duì)數(shù)據(jù)源的操作代碼,寫入任務(wù)隊(duì)列。
(5)結(jié)果反饋模塊:接收由數(shù)據(jù)訪問中間件反饋的任務(wù)執(zhí)行結(jié)果,并通過APP API返回客戶端。
應(yīng)用訪問中間件的工作流程設(shè)計(jì)如圖3所示。
圖3 應(yīng)用訪問中間件工作流程圖
數(shù)據(jù)訪問中間件同樣是構(gòu)成移動(dòng)辦公平臺(tái)的關(guān)鍵部分之一,為應(yīng)用訪問中間件和數(shù)據(jù)源服務(wù)器之間提供了專門的通信通道,實(shí)現(xiàn)業(yè)務(wù)服務(wù)層和數(shù)據(jù)層之間的交互操作,將用戶與數(shù)據(jù)訪問的復(fù)雜性相隔離,減少對(duì)應(yīng)用層的維護(hù)開銷。
數(shù)據(jù)訪問中間件主要由四個(gè)模塊組成,分別是監(jiān)控模塊、連接池管理模塊、任務(wù)執(zhí)行模塊、結(jié)果反饋模塊,如圖4所示。
圖4 數(shù)據(jù)訪問中間件模塊關(guān)系圖
這四個(gè)模塊的主要功能如下:
(1)監(jiān)控模塊:是數(shù)據(jù)訪問中間件的核心模塊,用于監(jiān)聽任務(wù)隊(duì)列,并協(xié)調(diào)各模塊間工作。當(dāng)每監(jiān)聽到任務(wù)隊(duì)列中有任務(wù)請(qǐng)求時(shí),便調(diào)用連接池管理模塊判斷是否有空閑資源處理任務(wù),若有空閑資源,則獲取一個(gè)空閑連接并調(diào)用任務(wù)執(zhí)行模塊執(zhí)行數(shù)據(jù)庫操作,否則判斷是否達(dá)調(diào)用次數(shù)上限,未達(dá)到則繼續(xù)調(diào)用連接池管理模塊,若已達(dá)到則將執(zhí)行失敗結(jié)果寫入結(jié)果反饋模塊。
(2)連接池管理模塊:用于管理數(shù)據(jù)訪問中間件中一池“預(yù)先建立的”數(shù)據(jù)庫連接。為任務(wù)分配連接,任務(wù)完成后收回連接;自動(dòng)進(jìn)行連接池?cái)?shù)量的優(yōu)化配置;定時(shí)檢查有效連接的數(shù)目。
(3)任務(wù)執(zhí)行模塊:通過監(jiān)控模塊創(chuàng)建并啟動(dòng),是對(duì)數(shù)據(jù)庫訪問的最終實(shí)現(xiàn)。根據(jù)監(jiān)控模塊傳來的數(shù)據(jù)請(qǐng)求信息執(zhí)行對(duì)應(yīng)的數(shù)據(jù)庫訪問操作,并將操作結(jié)果封裝成固定的數(shù)據(jù)包形式寫入結(jié)果反饋模塊。
(4)結(jié)果反饋模塊:將數(shù)據(jù)訪問中間件的處理結(jié)果返回給應(yīng)用訪問中間件的結(jié)果反饋模塊。
數(shù)據(jù)訪問中間件的工作流程設(shè)計(jì)如圖5所示。
圖5 數(shù)據(jù)訪問中間件工作流程圖
作為移動(dòng)端企業(yè)信息資源和應(yīng)用服務(wù)的集成平臺(tái),移動(dòng)辦公平臺(tái)整合了一系列的功能應(yīng)用。為了屏蔽各類應(yīng)用的差異性,為前端提供統(tǒng)一的接口標(biāo)準(zhǔn)及規(guī)范,減少應(yīng)用開發(fā)的復(fù)雜性,本文設(shè)計(jì)了一個(gè)基于中間件的移動(dòng)辦公平臺(tái),通過應(yīng)用訪問中間件和數(shù)據(jù)訪問中間件實(shí)現(xiàn)了將用戶和應(yīng)用訪問、數(shù)據(jù)訪問的復(fù)雜性相隔離,減少了系統(tǒng)的維護(hù)開銷,增強(qiáng)了可擴(kuò)展性和可移植性。
下一步將針對(duì)應(yīng)用倉庫管理,進(jìn)一步研究其應(yīng)用注冊(cè)模式和管理方式,制定應(yīng)用集成統(tǒng)一規(guī)范和標(biāo)準(zhǔn),以更好地支持移動(dòng)辦公平臺(tái)的應(yīng)用集成訪問。
[1]寧義雙.基于HTML5的移動(dòng)終端應(yīng)用中間件平臺(tái)的研究與設(shè)計(jì)[D].北京:北京工業(yè)大學(xué),2013.
[2]孫盛婷.移動(dòng)辦公系統(tǒng)行業(yè)集成解決方案的應(yīng)用與研究[J].微型電腦應(yīng)用,2013,29(1):34-37
[3]許小晴.基于中間件的移動(dòng)辦公系統(tǒng)的研究與實(shí)現(xiàn)[D].西安:西南交通大學(xué),2011.
[4]韓東廣.基于中間件的手機(jī)辦公應(yīng)用[D].濟(jì)南:山東大學(xué),2012.
[5]董洪志.分布式信息化平臺(tái)中嵌入式實(shí)時(shí)中間件研究[D].西安:西安電子科技大學(xué),2010.
[6]李琪林,劉 強(qiáng),周明天.論中間件技術(shù)及其分類[J].四川師范大學(xué)學(xué)報(bào),2001,24(6):657-660.