路 遙 周海亮 任女爾 林 濤 薛桂香 廖文喆
(1.天津市計(jì)量監(jiān)督檢測(cè)科學(xué)研究院,天津 300192;2.河北工業(yè)大學(xué),天津 300130)
從sun公司的WSS、開源社區(qū)為iphone努力的打造wsdl2objc、andriod平臺(tái),到Nokia的Serene框架等,都對(duì)移動(dòng)平臺(tái)做了很好的支撐。但是,要開發(fā)面向?qū)ο蟮囊苿?dòng)Web服務(wù),并在移動(dòng)設(shè)備操作系統(tǒng)中實(shí)現(xiàn),不僅耗費(fèi)資源、成本高額,而且也存在一些平臺(tái)缺少本地支持的問(wèn)題。平臺(tái)的多樣性增加了開發(fā)的難度、成本和工作量,很難快速在多樣的平臺(tái)上開發(fā)出一個(gè)統(tǒng)一的移動(dòng)應(yīng)用。本文設(shè)計(jì)采用html5、jquery mobile進(jìn)行前段的處理開發(fā),即混合開發(fā)模式,有效地降低了開發(fā)成本和開發(fā)周期。由于移動(dòng)辦公對(duì)響應(yīng)速度并無(wú)過(guò)高要求,混合開發(fā)相對(duì)于原生開發(fā)來(lái)講,雖然不能產(chǎn)生最優(yōu)的響應(yīng)速度,但其編譯代碼具有高度的通用性,有效解決了由于設(shè)備種類多樣性帶來(lái)的最關(guān)鍵的開發(fā)困難。此外,Wekbit是一個(gè)開源的Web瀏覽器引擎,是一個(gè)通用性較好的瀏覽器內(nèi)核。同樣的內(nèi)核決定了代碼可重復(fù)使用的特點(diǎn),因此可大大減小工作量。綜合各方面考慮,混合開發(fā)能更好的適應(yīng)移動(dòng)辦公的需求。
辦公自動(dòng)化(Office Automation,以下簡(jiǎn)稱OA)是將現(xiàn)代化辦公和計(jì)算機(jī)網(wǎng)絡(luò)結(jié)合起來(lái)的一種新型的辦公方式。OA通用性框架可如圖1中設(shè)計(jì),而移動(dòng)辦公部分主要是針對(duì)其可提取的個(gè)人業(yè)務(wù)進(jìn)行分析處理。
如圖1所示,OA系統(tǒng)主要處理的是會(huì)議日程、郵件通信、公文審批及合同管理等業(yè)務(wù),其中,通過(guò)定制工作流等技術(shù),可以使得日程、收文、發(fā)文等公文的審批流程更加靈活,方便各級(jí)領(lǐng)導(dǎo)處理。OA本著5C理念——溝通(Communication)、協(xié)作(Cooperation)、控制(Control)、創(chuàng)造(Creation)和方便(Convenience),為辦公自動(dòng)化提出了成熟有效的解決方案,為企業(yè)的現(xiàn)代化、信息化、自動(dòng)化作出了突出的貢獻(xiàn)。文獻(xiàn)[1-2]的研究者設(shè)計(jì)并證實(shí)了通信架構(gòu)的可行性,其中包括存在于外部設(shè)備的中間件部件和負(fù)責(zé)與Web服務(wù)通信時(shí)的xml處理。而文獻(xiàn)[3]提出了一個(gè)通過(guò)外部中間件承載移動(dòng)網(wǎng)絡(luò)中xml系統(tǒng)通信負(fù)擔(dān)的Web服務(wù)交互通信體系架構(gòu),以面向服務(wù)的體系結(jié)構(gòu)展示了中間件的優(yōu)勢(shì)。但是,其總的請(qǐng)求應(yīng)答時(shí)間增加了。而本文提出了更加靈活、可定制和擴(kuò)展的方法,主要是將接口處理、數(shù)據(jù)處理整合到中間件中,再以獨(dú)立的服務(wù)方式提供給移動(dòng)客戶端。面向服務(wù)的方式包含靈活的應(yīng)用組件集合,并且操作獨(dú)立性強(qiáng),為企業(yè)提供了豐富的選擇性?;贒omino的移動(dòng)辦公系統(tǒng)則充分發(fā)揮了Domino的優(yōu)勢(shì),進(jìn)一步采取了REST(REpresentational StateTransfer,表述性狀態(tài)轉(zhuǎn)移)接口及其他接口相聯(lián)合的綜合處理的方式,提高了數(shù)據(jù)提取的速度。
圖1 OA功能框架及移動(dòng)辦公
如圖2所示移動(dòng)辦公框架整體分為OA和數(shù)據(jù)庫(kù)系統(tǒng)、中間件系統(tǒng)和移動(dòng)終端系統(tǒng)三部分。Domino提供了REST接口,可以方便的返回json格式數(shù)據(jù)。SEMP或MKey等中間件在框架中處于數(shù)據(jù)處理的通道位置,它將從OA系統(tǒng)的頁(yè)面或直接從Domino數(shù)據(jù)庫(kù)REST接口訪問(wèn)來(lái)的數(shù)據(jù)進(jìn)行處理,直接進(jìn)行處理解析成json格式數(shù)據(jù),以最小的信息量返回給客戶端,客戶端只需要負(fù)責(zé)頁(yè)面布局等簡(jiǎn)單處理即可。
圖2 基于中國(guó)件的移動(dòng)平臺(tái)請(qǐng)求框架
1)數(shù)據(jù)下行處理。數(shù)據(jù)下行主要是獲取列表或者詳情。傳統(tǒng)的頁(yè)面解析方式獲取數(shù)據(jù)的過(guò)程為,當(dāng)瀏覽器加載頁(yè)面時(shí),從地址欄輸入url回車,瀏覽器會(huì)進(jìn)行頁(yè)面解析對(duì)應(yīng)到相應(yīng)IP進(jìn)行tcp連接,連接后給服務(wù)器發(fā)送請(qǐng)求。服務(wù)器收到請(qǐng)求之后,返回給客戶端響應(yīng)頭和具體的html信息。隨后,html內(nèi)容以流的形式傳遞給客戶端瀏覽器進(jìn)行逐步加載,先加載html框架,再?gòu)膆ead進(jìn)行解析然后是body等。而REST接口的方式獲取數(shù)據(jù)則不同,Domino數(shù)據(jù)庫(kù)提供了REST接口服務(wù),只需將要訪問(wèn)的庫(kù)名nsf和視圖view以及相應(yīng)代表權(quán)限認(rèn)證的信息傳遞給Domino就可以直接返回json格式的數(shù)據(jù)。
下行數(shù)據(jù)處理一般通用的方式為頁(yè)面解析,而在手持設(shè)備中,并不希望所有的html信息都返回到移動(dòng)應(yīng)用中,因此將數(shù)據(jù)全部交給中間件去處理,開發(fā)的時(shí)候在中間件中開發(fā)配置服務(wù),完成訪問(wèn)數(shù)據(jù)、接收html、解析提取json格式數(shù)據(jù)的工作后再返回給移動(dòng)應(yīng)用。然而,在提取數(shù)據(jù)時(shí),頁(yè)面解析的方式往往不如REST方式迅速、直接,所以針對(duì)Domino的OA數(shù)據(jù),優(yōu)先使用REST方式。針對(duì)一些需要再處理的數(shù)據(jù)和難以處理的數(shù)據(jù),為了節(jié)省分析時(shí)間,可以直接頁(yè)面解析進(jìn)行提取。
2)數(shù)據(jù)上行處理。所謂的上行數(shù)據(jù)處理往往指的是傳閱、駁回、知會(huì)、流程提交等功能,需要將一些審批意見等以參數(shù)的方式傳遞給OA服務(wù)器。實(shí)際上,真正的駁回等功能操作只需要將參數(shù)提交給服務(wù)器,然后由服務(wù)器完成即可。
綜上所述,無(wú)論是數(shù)據(jù)的上行還是下行,真正需要處理的部分都交給了OA服務(wù)器和中間件服務(wù)器。移動(dòng)應(yīng)用時(shí),需要做的就是數(shù)據(jù)展示和參數(shù)配置提交。這樣,大部分計(jì)算就都均衡到服務(wù)器上了。
移動(dòng)BI(Mobile Business Intelligence, 以下均簡(jiǎn)稱MBI)是指通過(guò)使用移動(dòng)終端設(shè)備,使用戶能夠隨時(shí)隨地獲取所需的業(yè)務(wù)數(shù)據(jù)及分析展現(xiàn),完成獨(dú)立的分析與決策應(yīng)用,實(shí)現(xiàn)決策分析無(wú)處不在的實(shí)時(shí)動(dòng)態(tài)管理。
以三星的SEMP中間件為例,要想獲取一個(gè)公文詳情,根據(jù)情況,需要進(jìn)行頁(yè)面解析和REST請(qǐng)求等進(jìn)行數(shù)據(jù)提取,程序如圖3所示:將類以服務(wù)的方式配置到SEMP中去,基于數(shù)據(jù)庫(kù)的SEMP,存儲(chǔ)了相關(guān)的服務(wù),通過(guò)配置服務(wù)ID,當(dāng)頁(yè)面進(jìn)行訪問(wèn)更改ID時(shí),SEMP就提供相應(yīng)的服務(wù),獲取數(shù)據(jù),再以JSON格式將數(shù)據(jù)返回。
圖3 MBI配置及調(diào)用過(guò)程
認(rèn)證的問(wèn)題是每個(gè)企業(yè)都十分重視的問(wèn)題,尤其是一些大中型國(guó)有企業(yè),一旦信息泄露,后果不堪設(shè)想,因此很多公司甚至不會(huì)在廣域網(wǎng)設(shè)置公網(wǎng)IP。信息保密是移動(dòng)辦公推廣的一個(gè)問(wèn)題。除此之外,國(guó)內(nèi)很多企業(yè)并不是完全與外網(wǎng)屏蔽,他們配有VPN服務(wù)器,所有的系統(tǒng)設(shè)置在內(nèi)網(wǎng)IP上,當(dāng)有員工需要從外網(wǎng)登錄內(nèi)網(wǎng)系統(tǒng)時(shí),可以先登錄VPN,連通后再訪問(wèn)內(nèi)網(wǎng)。移動(dòng)辦公可以在這種情況下集成VPN登錄,使手機(jī)也處于VPN登錄的模式。這樣能夠確保同等級(jí)的安全。
在公司信息安全等級(jí)條件允許范圍內(nèi),更好的部署方式是設(shè)立網(wǎng)關(guān),以雙網(wǎng)卡的方式做移動(dòng)辦公服務(wù)器,既可以連接內(nèi)網(wǎng),又可以連接互聯(lián)網(wǎng)。在實(shí)際訪問(wèn)中,始終通過(guò)部署有中間件的移動(dòng)辦公服務(wù)器去訪問(wèn)內(nèi)部數(shù)據(jù),再以json數(shù)據(jù)的方式返回給移動(dòng)客戶端。即不會(huì)破壞數(shù)據(jù)的安全性,公司路由配置也較為方便。
當(dāng)進(jìn)行數(shù)據(jù)訪問(wèn)時(shí),需要攜帶cookiestore作為認(rèn)證信息。在各大企業(yè)中,部署多個(gè)系統(tǒng)的情況較為常見,比如合同專門為一個(gè)系統(tǒng),門戶專門為一個(gè)系統(tǒng),公文管理及其他郵件等服務(wù)為一個(gè)系統(tǒng),此時(shí)需要在訪問(wèn)不同的系統(tǒng)時(shí)配置不同的認(rèn)證信息。
用計(jì)算機(jī)下載數(shù)據(jù)的方式確實(shí)較為方便,但是在移動(dòng)終端,以流的方式下載數(shù)據(jù)并不穩(wěn)定,數(shù)據(jù)流量也不方便控制,并且智能手機(jī)并不一定能對(duì)下載下來(lái)的文本格式完美支持,比如gd、gw文件格式。本文設(shè)計(jì)在移動(dòng)辦公服務(wù)器上搭載document view等類似的附件解析器,解析器可以調(diào)用服務(wù)器上已有的軟件將數(shù)據(jù)打開,訪問(wèn)數(shù)據(jù)時(shí),將數(shù)據(jù)轉(zhuǎn)換為特定的圖片格式返回到移動(dòng)終端,用此方式有效地解決了文本格式多樣性的問(wèn)題。
框架部署成功后,對(duì)基于Domino數(shù)據(jù)庫(kù)的OA系統(tǒng)可以方便的進(jìn)行處理,如圖4所示測(cè)試數(shù)據(jù),如果網(wǎng)絡(luò)狀況在20kb/s的情況下,一個(gè)普通的頁(yè)面訪問(wèn)時(shí)間可以控制在1s左右。如果是3G網(wǎng)絡(luò),網(wǎng)絡(luò)狀況可達(dá)到100kb/s的情況下,加載速度就非??捎^了。
圖4 執(zhí)行服務(wù)加載數(shù)據(jù)速度情況
在移動(dòng)化辦公系統(tǒng)中,通過(guò)中間件的框架設(shè)計(jì)進(jìn)行負(fù)載均衡,有效地解決了移動(dòng)設(shè)備處理能力有限的問(wèn)題;以混合開發(fā)的模式兼容部署ios、andriod等操作系統(tǒng);接口和頁(yè)面解析的方式充分利用了既有的OA系統(tǒng),可以使使用者輕松簡(jiǎn)便入手移動(dòng)辦公系統(tǒng),方便、快捷地處理辦公系統(tǒng)中的緊急業(yè)務(wù)。通過(guò)本論文的設(shè)計(jì)處理,給軟件開發(fā)企業(yè)提出了更加高效、低成本的開發(fā)模式,促進(jìn)自動(dòng)化辦公系統(tǒng)的應(yīng)用,也幫助了移動(dòng)辦公使用者更好的處理審批和決策等辦公室業(yè)務(wù)。
[1]AIJAZ F, ZAHID S A, CHAUDHARY M, et al.Enabling high performance mobile Web services provisioning [C].Vehicular Technology Conference Fall (VTC 2009 -Fall),2009:1-6
[2]Adacal M, BENER A B.Mobile Web services: a new agent-based framework[J].InternetComputing, 2006,10(3):58-65
[3]余以勝.移動(dòng)網(wǎng)絡(luò)中Web服務(wù)應(yīng)用架構(gòu)研究[J].微型機(jī)與應(yīng)用,2012,31(13):53-55
[4]王程輝.基于Lotus Domino/Notes的[J].中國(guó)科技信息,2010(1):121-124
[5]黃俊健,區(qū)詠瑩.基于SaaS移動(dòng)中間件平臺(tái)研究與開發(fā)[J].電子世界,2013(17):21-57
[6]溫旭,萬(wàn)昱,駱建斌.航天科研企業(yè)計(jì)量管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).計(jì)量技術(shù),2008(11):64-67