Lotus Domino曾是主流的文檔型辦公系統(tǒng)開(kāi)發(fā)平臺(tái)之一,其數(shù)據(jù)庫(kù)訪問(wèn)方式不同于SQL Server、Oracle等主流的數(shù)據(jù)庫(kù)系統(tǒng),它采用NSF(Notes Storage Facility)的面向文檔的數(shù)據(jù)庫(kù)來(lái)管理半結(jié)構(gòu)化數(shù)據(jù),并且利用其視圖可以使查找特定文檔變得高效。
目前國(guó)內(nèi)基于Domino的移動(dòng)OA系統(tǒng)解決方案一般有以下幾種:一是根據(jù)業(yè)務(wù)需要定制開(kāi)發(fā)每項(xiàng)移動(dòng)辦公應(yīng)用。這種方式移動(dòng)應(yīng)用體驗(yàn)良好,且具備較高的穩(wěn)定性,但構(gòu)建周期長(zhǎng),時(shí)間及財(cái)務(wù)成本均較大;二是利用VPN(虛擬專用網(wǎng)絡(luò))虛擬桌面技術(shù),通過(guò)移動(dòng)終端遠(yuǎn)程操作PC桌面。這種方式無(wú)需二次開(kāi)發(fā),且部署也相對(duì)簡(jiǎn)單。缺點(diǎn)是在較小的屏幕上操作PC界面,操作不方便,用戶體驗(yàn)欠佳;三是對(duì)原有系統(tǒng)的Web頁(yè)面進(jìn)行數(shù)據(jù)抽取。這種方式適合大多數(shù)系統(tǒng)的移植,應(yīng)用體驗(yàn)良好。缺點(diǎn)是難以抽取到業(yè)務(wù)系統(tǒng)的細(xì)節(jié),容易造成處理數(shù)據(jù)不完整導(dǎo)致數(shù)據(jù)錯(cuò)亂,系統(tǒng)穩(wěn)定性高度依賴于原業(yè)務(wù)系統(tǒng)的頁(yè)面代碼。
本文以公司原有的Lotus Notes/Domino辦公自動(dòng)化系統(tǒng)為基礎(chǔ),針對(duì)移動(dòng)OA功能需求和Domino數(shù)據(jù)庫(kù)的讀寫特點(diǎn),設(shè)計(jì)與開(kāi)發(fā)基于Lotus Domino的移動(dòng)辦公系統(tǒng),對(duì)數(shù)據(jù)庫(kù)的讀取操作調(diào)用Domino原生的數(shù)據(jù)庫(kù)Web服務(wù),克服非原生Domino移動(dòng)OA系統(tǒng)的弊端;寫入操作采用頁(yè)面抓取方式與PC系統(tǒng)的處理進(jìn)行同步,實(shí)現(xiàn)和原系統(tǒng)的無(wú)縫銜接。
1 系統(tǒng)架構(gòu)設(shè)計(jì)和拓?fù)浣Y(jié)構(gòu)
1.1 系統(tǒng)架構(gòu)設(shè)計(jì)。Lotus Domino辦公平臺(tái)采用的是Web資源與Domino數(shù)據(jù)庫(kù)整合的架構(gòu),更偏向于一種扁平和混合的特點(diǎn),Domino的開(kāi)發(fā)人員在構(gòu)建系統(tǒng)時(shí)利用開(kāi)發(fā)設(shè)計(jì)器——Domino Designer同時(shí)將前端顯示和后端數(shù)據(jù)結(jié)構(gòu)開(kāi)發(fā)出來(lái),傳統(tǒng)的移動(dòng)前端Web開(kāi)發(fā)人員難以參與合作開(kāi)發(fā)。
本文采取一種分層的架構(gòu)設(shè)計(jì),整個(gè)Domino移動(dòng)系統(tǒng)被顯式的分為三部分:前端顯示、邏輯服務(wù)和數(shù)據(jù)存儲(chǔ)。前端顯示與邏輯服務(wù)層之間通過(guò)各類以URL形式表現(xiàn)的服務(wù)來(lái)調(diào)用連接,以Web 2.0通常采用的XML作為交換的數(shù)據(jù)格式,邏輯服務(wù)層與數(shù)據(jù)存儲(chǔ)層之間直接利用Domino URL命令調(diào)用表單或視圖等Domino元素來(lái)實(shí)現(xiàn)這些服務(wù)。在這種架構(gòu)下,前端顯示層則可以完全由傳統(tǒng)的前端Web開(kāi)發(fā)人員完成,而服務(wù)層和數(shù)據(jù)存儲(chǔ)層的相關(guān)實(shí)現(xiàn)則交由Domino開(kāi)發(fā)人員負(fù)責(zé)。圖1為分層架構(gòu)設(shè)計(jì)圖:
圖1 Domino Web應(yīng)用的分層架構(gòu)設(shè)計(jì)
1.2 系統(tǒng)拓?fù)浣Y(jié)構(gòu)。OA系統(tǒng)部署在公司內(nèi)網(wǎng),外網(wǎng)用戶通過(guò)VPN方式訪問(wèn)OA系統(tǒng)。移動(dòng)OA系統(tǒng)搭建在原OA系統(tǒng)服務(wù)器上,移動(dòng)終端和服務(wù)器之間通過(guò)公網(wǎng)交互,依靠第三方VPN系統(tǒng)傳輸來(lái)保證交互的安全性。移動(dòng)用戶登陸VPN移動(dòng)版客戶端訪問(wèn)移動(dòng)OA系統(tǒng)。拓?fù)鋱D如下:
圖2 系統(tǒng)拓?fù)浣Y(jié)構(gòu)
2 技術(shù)路線和系統(tǒng)實(shí)現(xiàn)
2.1 系統(tǒng)功能需求。原有OA系統(tǒng)是B/S結(jié)構(gòu)。移動(dòng)OA適配原OA系統(tǒng)的部分功能,主要實(shí)現(xiàn)待辦文件、待閱文件、已辦文件三大功能,實(shí)現(xiàn)辦理意見(jiàn)的展示和回寫、正文和附件的查看,實(shí)現(xiàn)公文的正常流轉(zhuǎn),并與原OA系統(tǒng)的處理同步。
圖3 系統(tǒng)實(shí)現(xiàn)功能
2.2 使用PhoneGap實(shí)現(xiàn)跨平臺(tái)開(kāi)發(fā)。PhoneGap是一款HTML5平臺(tái),開(kāi)發(fā)商可以使用HTML、CSS及JavaScript來(lái)開(kāi)發(fā)本地移動(dòng)應(yīng)用程序,并且只編寫一次應(yīng)用程序,便能在7個(gè)主要的移動(dòng)平臺(tái)進(jìn)行發(fā)布。選用PhoneGap有以下幾個(gè)原因:(1)IOS和安卓是目前的主流手機(jī)操作系統(tǒng),移動(dòng)OA必須能夠在這兩個(gè)系統(tǒng)上運(yùn)行;(2)開(kāi)發(fā)成本低。理論上來(lái)說(shuō),相對(duì)于原生開(kāi)發(fā)多個(gè)平臺(tái)的客戶端,PhoneGap的成本會(huì)低很多;(3)原系統(tǒng)是B/S結(jié)構(gòu),移動(dòng)版使用B/S一致性更好。原系統(tǒng)中的頁(yè)面資源能被PhoneGap重用。
2.3 與原系統(tǒng)數(shù)據(jù)的同步。為了保證和原系統(tǒng)業(yè)務(wù)的一致性,應(yīng)最大限度的重用原系統(tǒng)的業(yè)務(wù)代碼,這就需要深入的研究原系統(tǒng),提取出原業(yè)務(wù)代碼直接重用,或者分析出其業(yè)務(wù)邏輯,編寫一致的業(yè)務(wù)代碼。本文采用如下策略保證了數(shù)據(jù)的一致性:
(1)直接訪問(wèn)Domino數(shù)據(jù)讀取接口,保證讀取的速度和穩(wěn)定性。根據(jù)原Domino數(shù)據(jù)庫(kù)中的數(shù)據(jù),在Domino Des igner中設(shè)計(jì)需要讀取的視圖,并采用URL指令從Domino數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),這樣就最大程度保證了讀取數(shù)據(jù)的正確與一致。下面是部分?jǐn)?shù)據(jù)讀取語(yǔ)句的示例。
[發(fā)文待辦]:發(fā)文運(yùn)轉(zhuǎn)庫(kù)fwrun.nsf
(2)數(shù)據(jù)回寫采用抓取方式,保證業(yè)務(wù)一致性。針對(duì)Domino數(shù)據(jù)庫(kù)架構(gòu),本文采用WEB模擬方式,即抓取原系統(tǒng)的POST請(qǐng)求,移動(dòng)系統(tǒng)利用一致的請(qǐng)求實(shí)現(xiàn)相同功能。同時(shí),抓取的數(shù)據(jù)正確性受到了WEB頁(yè)面穩(wěn)定性的影響,如果原系統(tǒng)頁(yè)面代碼進(jìn)行了更改,會(huì)導(dǎo)致數(shù)據(jù)抓取的錯(cuò)誤。因原OA系統(tǒng)已經(jīng)運(yùn)行多年,需求也相對(duì)穩(wěn)定,無(wú)需對(duì)WEB代碼進(jìn)行變更,因此用數(shù)據(jù)抓取方式來(lái)實(shí)現(xiàn)數(shù)據(jù)同步是可行的。這個(gè)方法在保證業(yè)務(wù)一致性的同時(shí),克服了Domino系統(tǒng)無(wú)法回寫數(shù)據(jù)的問(wèn)題。
圖4 移動(dòng)辦公系統(tǒng)用戶界面
3 結(jié)束語(yǔ)
本文以較低的成本實(shí)現(xiàn)了Domino移動(dòng)辦公平臺(tái),并能實(shí)現(xiàn)程序的跨手機(jī)平臺(tái)使用,這在國(guó)內(nèi)目前的Lotus移動(dòng)開(kāi)發(fā)領(lǐng)域具有一定的創(chuàng)新意義;贚otus Domino平臺(tái)的辦公自動(dòng)化系統(tǒng)在國(guó)內(nèi)用戶眾多,且大多數(shù)都有將系統(tǒng)拓展到手機(jī)實(shí)現(xiàn)移動(dòng)辦公的需求,因此本文研究的方案有較好的推廣前景。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于Lotus Domino的移動(dòng)OA辦公系統(tǒng)
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10820615145.html